Google Maps API v3 Чтение перетаскиваемых маркеров новой позиции - PullRequest
4 голосов
/ 27 февраля 2012

У меня есть несколько маркеров, извлеченных из базы данных MySQL с php, генерируя следующий код для каждого маркера:

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

.... etc

Затем у меня есть следующая функция:

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

У меня есть следующие 2 проблемы:

1) событие "dragend" срабатывает без перетаскивания, когда маркеры создаются впервые, на самом деле ничего страшного, но ...

2) новая позиция не обновляется, заголовок устанавливается на первую начальную позицию независимо от того, куда я перетаскиваю маркеры.Я попробовал метод getPosition () с тем же результатом.

Идея состоит в том, чтобы записать новые позиции обратно в базу данных mySql из этой функции с помощью (асинхронного) запроса GET в файл track.php

1 Ответ

7 голосов
/ 27 февраля 2012

Когда вы вызываете addListener, третий параметр должен быть функцией.Вы звоните с результатом функции, так что это не сработает.Попробуйте это так:

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

Для получения дополнительной информации обратитесь к документации API для использования замыканий в прослушивателях событий .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...