使用leaflet.js,如何遍历集群中的标记?

时间:2014-07-16 04:04:21

标签: leaflet markerclusterer

我们有一张地图,在某个缩放级别,我们开始聚类标记。

现在我希望能够删除某些标记。我可以删除不参与群集的标记,但群集中的标记不会被删除,因为代码不会迭代它们。

我会发布代码,但它遍布整个地方且非常具体。

我可以做以下事情;

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

所有可见标记都被删除,但不是群集中的标记。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您无法迭代地图或群集中的标记。

创建一个数组,在创建标记时按下标记。

遍历你的数组

如果必须删除标记,请使用

if(cluster.hasLayer(marker) cluster.removeLayer(marker);
if(map.hasLayer(marker) map.removeLayer(marker);
// remove marker from array (easier with a jQuery Array)