首页 > 解决方案 > 有没有办法覆盖 Mapbox Geocoder 上的结果事件?

问题描述

我想在地图动画到达搜索位置之前做一些事情,所以我想知道是否有办法暂停该动画,或者有办法实现这一点,延迟这种行为。

我试过了,但它没有按预期工作:

geocoder.on('result', function(ev) {
    console.log("result> ", ev);
    setTimeout(function(){
      console.log("release after 2 seconds");
    }, 2000); 
    //debugger
});

谢谢您的帮助

标签: javascriptjquerymapbox

解决方案


我不认为 Mapbox GL Geocoder 插件提供了这种灵活性。正如您在其源代码中看到的那样,一旦检索到结果,它就会flyTo回到它的位置。

一个可能的(但很老套的)解决方案可能是使用movestartmap.stop()在动画开始时立即停止动画,做你的事,然后手动重新启动动画。

但是您最好编写自己的地理编码器。使用Mapbox Geocoder Javascript SDK可以非常简单。


推荐阅读