2012-02-27 121 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