如何在OpenLayers中区分两个不同的矢量图层?

时间:2015-08-05 09:17:38

标签: javascript openlayers

在我的设计中,有一个复选框,可以使用以下代码删除所有矢量图层。

// When I check that checkbox:
var layers = map.getLayersByClass('OpenLayers.Layer.Vector');

for(var j=0; j < layer_vectors.length; j++){
    map.removeLayer(layer_vectors[j]);
}

哪个工作正常。我需要以这种方式删除所有内容,因为有许多包含多边形的矢量图层。

如果我有两组不同的矢量图层怎么办?如何通过该复选框仅删除其中一个?

我们可以设置像&#34; data-layertype&#34;属性与普通的html元素一样?在使用getLayersByClass获取它们之后,如何区分两个不同的层?

由于

1 个答案:

答案 0 :(得分:0)

好的,我解决了这个问题。每次创建矢量图层时,我都会使用相同的名称设置整个组,当我删除图层时,我将它们与“.name”属性区分开来。

for(var j=0; j < layer_vectors.length; j++){
    if(layer_vectors[j].name == "group_name"){
        map.removeLayer(layer_vectors[j]);
    }
}