我有一个使用 Leaflet.markercluster 插件的传单地图。
集群在地图上正确绘制,但我注意到视图外的集群仍在渲染,即使我将removeOutsideVisibleBounds
选项设置为true
.
我可以判断的方法是,如果我通过按住鼠标按钮平移地图,则在平移时所有聚类仍然可见。
群集组的配置如下:
let myCluster = L.markerClusterGroup({ spiderfyOnMaxZoom: false, removeOutsideVisibleBounds: true });
为确保删除视图之外的集群,我还缺少什么?
该项目在 Angular 5 中使用 ngx-leaflet。
您可能只是错过了removeOutsideVisibleBounds
选项描述的这一部分(强调我的(:
removeOutsideVisibleBounds:为了提高性能,从地图中删除离视口太远的聚类和标记。
这个"太远"的意思是,它仍然在每个方向上将标记和簇保持在 1 个视口大小的"缓冲区"区域内;除了移动,其中缓冲区为 0,以便更轻的设备内存。
因此,在桌面浏览器上,您必须将地图平移 1 个以上的地图视口大小,然后才能看到缺少的标记和聚类,这些标记和聚类仅在您停止平移(释放鼠标(时重新出现。
如果检查源代码:
获取按屏幕大小在每个方向上展开的地图可见边界(因此用户无法看到我们未在一个平移中覆盖的区域(