【问题标题】:Leaflet MarkerCluster removeOutsideVisibleBounds not workingLeaflet MarkerCluster removeOutsideVisibleBounds 不起作用
【发布时间】:2018-05-18 20:19:15
【问题描述】:

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

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

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

集群组的配置如下:

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

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

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

【问题讨论】:

    标签: angular leaflet leaflet.markercluster ngx-leaflet


    【解决方案1】:

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

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

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

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

    如果您检查source code

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

    【讨论】:

    • 1 视口大小是多少?这是当前地图的总大小吗?
    • 这是您的地图容器的大小,即通常是您的<div id="map">
    猜你喜欢
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多