我使用DivIcons实现了一个带有几个不同自定义标记的Leaflet地图。
它在桌面浏览器中运行良好,但是当我在移动设备上平移地图时,视口中当前不可见的标记似乎是隐藏的,直到我停止平移地图为止。
是否有禁用此行为的选项?理想情况下,我希望保持标记始终呈现。
我应该提一下,我也在使用MarkerCluster插件。
答案 0 :(得分:4)
这是Leaflet.markercluster插件removeOutsideVisibleBounds
选项的效果。
在桌面上,它会在视口中保留标记和群集,并在每个方向上保留1个额外视口。
在移动设备上,它只保留可见视口。
另见https://github.com/Leaflet/Leaflet.markercluster/issues/316
您可以修改https://github.com/Leaflet/Leaflet.markercluster/blob/master/src/MarkerClusterGroup.js#L1071-L1079处的行以满足您的需求:
<task:executor
id="executor"
pool-size="1-2"
queue-capacity="50"
rejection-policy="CALLER_RUNS"
/>
<task:scheduler id="scheduler" pool-size="2"/>
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="task1" method="methodInTask1" cron="0 1/5 * ? * *"/>
<task:scheduled ref="task2" method="methodInTask2" cron="0 0/5 * ? * *"/>
</task:scheduled-tasks>