2011-06-10 54 views
11

如何在单个指定的panTo调用中设置回调函数?这是我的代码。Google Maps v3 panTo回拨?

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

回答

18

我不清楚你试图达到什么目的。你是否希望在平移结束后回调会运行?如果是这样,你可以试试这个:

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.'); 
}); 
+7

嗯,我想利用闲置事件是模拟这种回调的最好方法。只有一个例外,您的解决方案可以正常工作 - 如果地图中心位置未更改,则不会触发空闲事件。监听器保持在应用中,直到空闲事件被实际触发(缩放或其他平移之后)。最后可能会有几个这样的听众在等待空闲事件。因此,有必要检查地图中心是否正在更改。 – Tomik 2011-06-10 19:58:22