Leaflet MarkerCluster removeOutsideVisibleBounds无效

问题描述 投票:2回答:1

我有一张使用Leaflet.markercluster插件的Leaflet地图。

群集在地图上正确绘制,但我注意到即使我将removeOutsideVisibleBounds选项设置为true,视图外部的聚类仍在渲染。

我可以告诉我的方法是,如果我按住鼠标按钮来平移地图,所以当我平移时,所有群集仍然可见。

群集组的配置如下:

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

我还缺少什么来确保删除视图之外的集群?

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

angular leaflet leaflet.markercluster ngx-leaflet
1个回答
2
投票

你可能只是错过了removeOutsideVisibleBounds选项描述的这一部分(强调我的):

removeOutsideVisibleBounds:距离视口太远的聚类和标记将从地图中删除以提高性能。

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

因此,在桌面浏览器上,您必须在看到缺少的标记和群集之前将地图平移超过1个地图视口大小,只有在停止平移(释放鼠标)时才会重新出现。

如果你检查source code

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

© www.soinside.com 2019 - 2024. All rights reserved.