Leaflet MarkerCluster removeOutsideVisibleBounds无效

时间:2018-05-18 20:19:16

标签: angular leaflet leaflet.markercluster ngx-leaflet

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

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

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

群集组的配置如下:

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

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

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

1 个答案:

答案 0 :(得分:2)

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

  

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

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

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

如果您检查source code

  

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