Leaflet MarkerCluster removeOutsideVisibleBounds 不起作用

2024-06-22

我有一张传单地图,使用Leaflet.markercluster https://github.com/Leaflet/Leaflet.markercluster plugin.

集群在地图上正确绘制,但我注意到视图之外的集群仍在渲染,即使我有removeOutsideVisibleBounds选项设置为true.

我可以判断的是,如果我通过按住鼠标按钮来平移地图,则在平移时所有簇仍然可见。

集群组的配置如下:

let myCluster = L.markerClusterGroup({ spiderfyOnMaxZoom: false, removeOutsideVisibleBounds: true });

为了确保删除视图之外的簇,我还缺少什么?

该项目在 Angular 5 中使用 ngx-leaflet。


您可能刚刚错过了这一部分removeOutsideVisibleBounds选项说明(强调我的):

removeOutsideVisibleBounds:簇和标记too far为了提高性能,将视口中的内容从地图中删除。

这个“太远”意味着它仍然将标记和簇保留在每个方向 1 个视口大小的“缓冲区”区域内;除移动设备外,其缓冲区为0,以便更轻地占用设备内存。

因此,在桌面浏览器上,您必须将地图平移超过 1 个地图视口大小,然后才能看到丢失的标记和簇,这些标记和簇仅在您停止平移(释放鼠标)时才会重新出现。

如果您检查源代码 https://github.com/Leaflet/Leaflet.markercluster/blob/v1.3.0/src/MarkerClusterGroup.js#L1070-L1079:

获取按屏幕大小在每个方向上扩展的地图可见边界(因此用户无法看到我们未在一次平移中覆盖的区域)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Leaflet MarkerCluster removeOutsideVisibleBounds 不起作用 的相关文章

随机推荐