0

我有一个功能:

function images_styles(Isel){
    if (Isel==1){
        var marker_pic="/sites/all/themes/shakhty/images/map/icons/1.png";
    }
    else{
        var marker_pic="http://www.openlayers.org/dev/img/marker.png";
    }
    var styleImage = new OpenLayers.Style({
        graphicWidth: 43,  
        graphicHeight: 65,  
        graphicYOffset: -28,              
        label: "${label}",   
        externalGraphic: marker_pic,   
        fontSize: "1em",
        strokeOpacity:5
    });

    var vectorImage = new OpenLayers.Layer.Vector("Images", {
        styleMap: new OpenLayers.StyleMap({ 
            "default": styleImage
        })
    });


    map.addLayer(vectorImage);
}

当用户在表单中选择变体时,我想更改图像(marker_pic)。但是当第一次选择变体时,图像不会改变,直到我重新加载页面。

我应该怎么办?

每次用户选择另一个变体时如何刷新图像?

4

1 回答 1

0

要使用新的外部图形更新矢量图层,请尝试以下操作:

vectorImage.refresh({force:true});

或者,以下内容也应该起作用:

vectorImage.redraw();
于 2014-05-03T19:47:49.907 回答