繁体   English   中英

如何在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]);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM