在我的设计中,有一个复选框,可以使用以下代码删除所有矢量图层。
// 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获取它们之后,如何区分两个不同的层?
由于
答案 0 :(得分:0)
好的,我解决了这个问题。每次创建矢量图层时,我都会使用相同的名称设置整个组,当我删除图层时,我将它们与“.name”属性区分开来。
for(var j=0; j < layer_vectors.length; j++){
if(layer_vectors[j].name == "group_name"){
map.removeLayer(layer_vectors[j]);
}
}