正在更新openlayers地图上的图像



我有一个函数:

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)。但当变体第一次选择时,图像不会更改,直到我重新加载页面。

我该怎么办?

如何在每次用户选择其他变体时刷新图像?

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

vectorImage.refresh({force:true});

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

vectorImage.redraw();

最新更新