问题描述
使用 Leaflet MarkerCluster LayerSupport 扩展,当从移动设备移动地图时,只有在释放拖动时标记才会消失以返回。
var mcgLayerSupportGroup = L.markerClusterGroup.layerSupport();
你可以在这里试试:
https://jsfiddle.net/DanyIdas/k08rbwu5/36/ 要么 http://dwilhelm89.github.io/LeafletSlider
解决方法
如 Leaflet.MarkerCluster.LayerSupport 子插件的自述文件所述:
常规 MCG 选项、事件和方法
所有常规 MCG options、事件和方法都在 MCG 层支持中可用。请参阅 Leaflet.markercluster 文档。
特别是,您有 Leaflet.markercluster removeOutsideVisibleBounds
option:
removeOutsideVisibleBounds:为了提高性能,从地图中移除离视口太远的簇和标记。
因此,您可以在 LayerSupport 子插件中使用(在您的情况下禁用)该选项:
const mcgLayerSupportGroup = L.markerClusterGroup.layerSupport({
removeOutsideVisibleBounds: false // Disable default behaviour
});
更新了 JSFiddle:https://jsfiddle.net/sdunypa2/
注意:不需要创建常规的markerClusterGroup,只需要layerSupport就可以了,如子插件quick guide所示。