我有两种将标记放在 map 上的搜索方式。一种搜索基于输入表单中的搜索查询触发,另一种则触发moveend
事件(即“ map 移动重做搜索”)。结果数据是不一样的。前者使用半径,而后者则限制在范围内)。
问题是,对于基于查询的搜索,我想使 map 适合返回的标记。因此,我为此使用fitBounds()
,它在内部进行委托(delegate)并将平移动画化到标记周围的最佳边界。
在动画结束时,它会触发moveend
事件,触发其他类型的搜索并重置我的结果,这是我不希望的行为。
为了解决该问题,我可以使用setTimeout
和fitBounds()
上的平移选项的已知持续时间。这样,我可以关闭事件监听器的moveend
,然后关闭fitBounds
的时间为.25秒,然后关闭setTimeout
的时间为.25秒(实际上是更长的时间),并通过回调将moveend
监听器添加回去。
这行得通,但是如果fitBounds或panning本身具有事件或回调,则将更为实用。您能想到更好的解决方案吗?
最佳答案
如果您想要的是检测 map 上的“拖动”事件,我认为最好使用dragend
而不是moveend
。
关于javascript - 在传单中,fitBounds是否有回调?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35050949/