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

问题是,对于基于查询的搜索,我想使 map 适合返回的标记。因此,我为此使用fitBounds(),它在内部进行委托(delegate)并将平移动画化到标记周围的最佳边界。

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

为了解决该问题,我可以使用setTimeoutfitBounds()上的平移选项的已知持续时间。这样,我可以关闭事件监听器的moveend,然后关闭fitBounds的时间为.25秒,然后关闭setTimeout的时间为.25秒(实际上是更长的时间),并通过回调将moveend监听器添加回去。

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

最佳答案

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

关于javascript - 在传单中,fitBounds是否有回调?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35050949/

10-11 11:26