Leaflet fitBounds的奇怪行为(使用L.MarkerClusterGroup时)

时间:2014-08-29 09:27:57

标签: leaflet leaflet.markercluster

我有一个mapItems图层(MarkerClusterGroup),我用它来表示我的所有地图项目。在运行中,我正在添加和删除该层中的点(哦,那是GeoJSON)。

使用它可以很好地适应地图中的所有点:

map.fitBounds(mapItems.getBounds());

现在,当我添加更多点时会发生奇怪的事情,因此图层的边界会扩展。但是当我删除那些点时,即使某些区域没有点,该地图的边界(当然在使用fitBounds之后)保持与最大值相同。

可能有什么问题?我是否必须以某种方式重置该层的边界?或者,每次我将点加载到该地图时,最好是销毁图层并创建一个新图层?

P.S。我只是注意到,如果我没有使用L.MarkerClusterGroup而是使用L.FeatureGroup,那么一切都运行得很好......所以这与集群有关。

1 个答案:

答案 0 :(得分:0)

好的,所以我的问题是使用它来清除图层:

        layer.eachLayer(
            function (sublayer) {
                layer.removeLayer(sublayer);
            }
        );

这似乎不适用于L.MarkerClusterGroup。相反,我现在正在使用它,一切正常:

        layer.clearLayers();