Leaflet MarkerCluster removeOutsideVisibleBounds无效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leaflet MarkerCluster removeOutsideVisibleBounds无效相关的知识,希望对你有一定的参考价值。

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

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

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

群集组的配置如下:

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

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

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

答案

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

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

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

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

如果你检查source code

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

以上是关于Leaflet MarkerCluster removeOutsideVisibleBounds无效的主要内容,如果未能解决你的问题,请参考以下文章

悬停在集群组上的弹出窗口

map.addLayer(markerClusters)不是一个函数

leaflet.js IE11:Tile imgs不可见,但它们仍在DOM中

MarkerCluster V3 停止正常工作

Python - Folium 搜索插件不会在 MarkerCluster 组层中搜索弹出文本

谷歌markercluster