在openlayers地图上更新图像

时间:2013-06-23 22:53:01

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

我该怎么办?

每次用户选择其他版本时如何刷新图像?

1 个答案:

答案 0 :(得分:0)

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

vectorImage.refresh({force:true});

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

vectorImage.redraw();