2012-02-27 127 views
4

我有以下每個標記代碼MySQL數據庫和PHP,生成獲取多個標記:谷歌地圖API V3閱讀拖動標記新位置

var marker28= new google.maps.Marker({position:new google.maps.LatLng(64.2,11.4),map: map,draggable: true,icon: 'slayer.png',title: '#28 slayer (64.2, 11.4)'}); 
google.maps.event.addListener(marker28, 'dragend', markerMoved(marker28)); 

var marker25 

....等

然後,我有以下功能:

function markerMoved(movedMarker){ 
    movedMarker.title = movedMarker.position; 
} 

我有以下2個問題:

1)前夕nt「dragend」火沒有拖動,當標記第一次創建時,真的沒什麼大不了的,但...

2)新位置沒有更新,標題設置爲第一個初始位置,無論我在哪裏拖動標記。我嘗試了相同結果的getPosition()方法。

的想法是寫新的位置返回到這個函數的MySQL數據庫,通過(異步)GET請求文件track.php

回答

7

當你打電話的addListener,第三個參數必須是一個功能。你正在調用一個函數的結果,所以這是行不通的。試着這樣說:

google.maps.event.addListener(marker28, 'dragend', function() { markerMoved(marker28); }); 

欲瞭解更多信息,請查看API文檔使用closures in event listeners