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

How can I distinguish two different vector layers in 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]);
}

效果很好。我需要用这种方式删除所有内容,因为有许多包含多边形的矢量图层。

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

我们可以像在普通 html 元素中那样设置类似 "data-layertype" 的属性吗?使用getLayersByClass获取两个不同的层后如何区分它们?

谢谢

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

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