我有两种类型的搜索在地图上放置标记。一个搜索基于来自输入表单的搜索查询而另一个搜索在moveend
事件上触发(即“重做地图移动搜索”)。结果数据不一样;前者使用半径,后者限制在界限内。
问题是,基于查询的搜索,我想将地图适合返回的标记。因此,我使用fitBounds()
进行内部委托,并将平移动画设置为标记周围的最佳边界。
在动画结束时,它会触发moveend
事件触发我的其他类型的搜索并重置我的结果,这是我不想要的行为。
为了解决此问题,我可以使用setTimeout
和fitBounds()
上的平移选项的已知持续时间。有了这个,我可以关闭moveend
上的事件监听器,然后fitBounds
需要.25秒,然后setTimeout
.25秒(实际上,稍微长一点)回调添加moveend
侦听器。
这可行,但如果fitBounds或panning本身有事件或回调,那将更实用。你能想到更好的解决方案吗?
答案 0 :(得分:0)
如果你想要的是检测"拖动"地图上的活动,我认为最好使用dragend
代替moveend
。
答案 1 :(得分:0)
您可以使用moveend + zoomend事件来捕获地图拟合的结束。
因为其中至少有一个在fitBounds
执行结束时被调用