使用leaflet.js,如何遍历聚类中的标记?

5

我们有一个地图,并且在某个缩放级别下开始聚合标记。

现在我想要能够删除特定的标记。我可以删除不参与聚类的标记,但是聚类中的标记不会被删除,因为代码没有遍历它们。

我可以做以下操作:

$.each(MAP._layers, function (i, layer) {
    if (layer.feature) {
        var marker = LIGHTWEIGHT_BUILDING_MAPPING[layer.feature.id];
        MAP.removeLayer(marker);
    }
});

所有可见的标记都被移除了,但聚类中的标记没有。有什么想法吗?

1个回答

6
你无法遍历地图或聚类中的标记。
创建一个数组,在创建标记时将其推入该数组中。
遍历你的数组。
当你需要移除标记时,使用以下方法。
if(cluster.hasLayer(marker) cluster.removeLayer(marker);
if(map.hasLayer(marker) map.removeLayer(marker);
// remove marker from array (easier with a jQuery Array)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接