2

我有一个使用Leaflet.markercluster插件的传单地图。

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

我可以判断的方式是,如果我通过按住鼠标按钮来平移地图,那么在平移时所有集群仍然可见。

集群组的配置如下:

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

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

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

4

1 回答 1

3

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

removeOutsideVisibleBounds:从地图中移除离视口太远的簇和标记以提高性能。

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

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

如果您检查源代码

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

于 2018-05-19T01:07:20.613 回答