我有两种在地图上标记位置的搜索方式。一种基于输入表单的搜索查询触发,另一种基于
问题是,在基于查询的搜索中,我希望将地图适配到返回的标记上。因此,我使用
在动画结束时,它会触发一个
为了解决问题,我可以使用
这个方法可行,但如果fitBounds或平移本身有一个事件或回调,那就更加方便了。你能想到更好的解决方案吗?
moveend
事件触发(即“在地图移动时重新搜索”)。结果数据不同;前者使用半径,后者限制在范围内。问题是,在基于查询的搜索中,我希望将地图适配到返回的标记上。因此,我使用
fitBounds()
实现这一点,它在内部委托并动画化在标记周围找到最佳边界的平移。在动画结束时,它会触发一个
moveend
事件,触发我的其他类型的搜索并重置我的结果,这是我不想要的行为。为了解决问题,我可以使用
setTimeout
和已知的持续时间来进行fitBounds()
的平移选项。通过这种方式,我可以关闭moveend
的事件侦听器,然后进行需要0.25秒的fitBounds()
,再使用setTimeout
0.25秒(实际上稍长一些)的回调来添加moveend
事件侦听器。这个方法可行,但如果fitBounds或平移本身有一个事件或回调,那就更加方便了。你能想到更好的解决方案吗?
once
监听器对你有用? - iH8