2010-05-31 27 views
1

我的問題如下: GEvent.addListener(map,「click」function(){...})返回到回調函數中是什麼?我在GMaps參考資料中找不到任何信息,你能告訴我一些嗎?我發現的唯一情況是有兩個參數,「overlay」和「latLng」被傳遞。這些參數的名稱應該沒有興趣嗎?就我所知,我也可以將它們命名爲「foo」和「bar」。 但是,參數「覆蓋」似乎是空的嗎?GEvent.addListener(...)返回?

我也有我創造了自己的問題,這兩個參數直接傳遞到一個回調函數,它看起來像......

GEvent.addListener(gmap, "click", generateMarker(overlay, latLng)); 

...而不是寫在下面,這實際上工作正常。

GEvent.addListener(gmap, "click", function(overlay, latLng) { 
     generateMarker(overlay, latLng); 
    }); 

回答

4

你的第一個例子試圖通過調用generateMarker(overlay, latLng)的結果addListener這當然是行不通的。第二個例子是正確的方法。

可以命名傳遞給你喜歡你的任何回調的參數。

覆蓋圖是地圖上與緯度/經度座標相關的對象,所以我猜overlay是無論點擊哪個對象。然而,它看起來像API第3版將一個事件對象給回調:

google.maps.event.addListener(map, 'click', function(event) { 
    placeMarker(event.latLng); 
}); 

如果有任何關於本文檔中,你可以使用Firebug總是檢查event