2011-06-10 52 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