移动设备上的传单 - 带有 layer.setIcon 的 json 标记在地图外消失

问题描述

我有一张不同级别的地图。每个级别从 json 文件获取信息并使用 layer.setIcon 方法生成图标。 通过拖动地图,图标在显示区域外消失。 为什么?

enter image description here

编辑: 好的,我想我在这里看到了问题: Leaflet.MarkerCluster.LayerSupport 没有这个扩展,渲染工作……为什么?

解决方法

这是 Leaflet.markercluster 插件的默认行为,尤其是在移动设备上可见。

更具体地说,它有一个默认启用的 removeOutsideVisibleBounds 选项:

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

在移动设备上,当前地图视口之外的任何内容都将被移除,并在平移停止时重新出现。但这意味着平移期间,您可能会错过一些标记。

另见Leaflet MarkerCluster removeOutsideVisibleBounds not working

不幸的是,除了通过将选项传递给 false 来禁用它之外,没有可以自定义此行为的 API:

const mcg = L.markerClusterGroup({
    removeOutsideVisibleBounds: false // Disable default behaviour
}).addTo(map);

移动演示:https://jsfiddle.net/4weocd0q/1/embedded/#Result

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...