Google Maps API v3读取可拖动标记的新位置

时间:2012-02-27 13:58:44

标签: google-maps-api-3 position draggable marker

我使用php从mySQL数据库中获取了多个标记,为每个标记生成以下代码:

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;
}

我有以下两个问题:

1)事件“dragend”火没有拖动,当标记首次创建时,真的没什么大不了的,但是......

2)新位置未更新,无论我在何处拖动标记,标题都设置为第一个初始位置。我尝试了getPosition()方法,结果相同。

我的想法是通过(async)GET请求将新位置从此函数写回mySql数据库,并将其写入文件track.php

1 个答案:

答案 0 :(得分:7)

调用addListener时,第三个参数需要是一个函数。您正在调用函数的结果,因此无法正常工作。试试这样:

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

有关详细信息,请查看API文档以了解使用closures in event listeners