谷歌地图v3 panTo回拨?

Jac*_*cob 12 javascript javascript-events google-maps-api-3

如何在单个指定的panTo调用上设置回调函数?这是我的代码.

var loc = data.split(',');
map.panTo(new google.maps.LatLng(loc[0], loc[1]), function(){
    console.log('this never logs...');
});
Run Code Online (Sandbox Code Playgroud)

Tro*_*ott 20

我不清楚你想要达到的目标.您是否希望在平移完成后回调将会运行?如果是这样,你可以试试这个:

map.panTo(new google.maps.LatLng(loc[0], loc[1]));
google.maps.event.addListenerOnce(map, 'idle', function(){
    console.log('this logs after the panTo finishes.');
});
Run Code Online (Sandbox Code Playgroud)

  • 好吧,我想利用空闲事件是模拟这种回调的最佳方式.只有一个例外,您的解决方案正常工作 - 如果地图中心位置未更改,则不会触发空闲事件.然后,监听器将保留在应用程序中,直到实际触发空闲事件(在缩放或其他平移之后).最终可能会发生几个这样的听众正在等待空闲事件.因此,有必要检查地图中心是否实际被更改. (7认同)