在传单中,fitBounds是否有回调?

mal*_*tor 5 javascript leaflet mapbox

我有两种将标记放在地图上的搜索方式。一种搜索基于输入表单中的搜索查询触发,另一种针对moveend事件触发(即“地图移动重做搜索”)。结果数据不一样;前者使用半径,而后者则限制在范围内)。

问题是,对于基于查询的搜索,我想使地图适合返回的标记。因此,我fitBounds()为此使用了内部委派的效果,并将平移动画设置为标记周围的最佳边界。

在动画结束时,它会触发一个moveend事件,触发我的其他类型的搜索并重置我的结果,这是我不希望的行为。

为了变通解决此问题,我可以使用setTimeout和的持续时间作为上的平移选项fitBounds()。这样,我可以关闭事件侦听器moveend,然后fitBounds花费0.25秒,然后花费setTimeout0.25秒(实际上是更长的时间),并通过回调将moveend侦听器添加回去。

这是可行的,但是如果fitBounds或panning本身具有事件或回调,则将更为实用。您能想到更好的解决方案吗?

Alb*_*uez 0

如果你想要检测地图上的“拖动”事件,我认为最好使用dragend而不是moveend.