微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决移动设备上的传单 - 带有 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。