пятница, августа 07, 2009

Очевидные функции для взаимодествия с Google Maps

Сделаны для редактора объектов на карте сайта Прим-Поиск. Функции совершенно незатейливы, но, возможно, спасут кого-то от написания в 1000-й раз совершенно незатейливых функций.

Требуется jquery, хотя можно переписать и более длинно без неё.

Установка перемещаемого маркера и отслеживание его перемещения с записью новых координат в поля ввода:
var marker = new GMarker(new GLatLng(lat, lng),
{draggable: true});
map.addOverlay( marker );
GEvent.addListener(marker, 'dragend', function() {
$('#lng').val(marker.getLatLng().lng());
$('#lat').val(marker.getLatLng().lat());
});
Создание по клику перемещаемого маркера на карте с показом и обновлением его координат и предотвращением добавления новых маркеров:
var clickListener = GEvent.addListener(map, 'click',
function(overlay,point) {
if (point) {
var marker = new GMarker(point, {draggable: true});
map.addOverlay(marker);
$('#lng').val(marker.getLatLng().lng());
$('#lat').val(marker.getLatLng().lat());
GEvent.addListener(marker, 'dragend', function() {
$('#lng').val(marker.getLatLng().lng());
$('#lat').val(marker.getLatLng().lat());
});
GEvent.removeListener(clickListener);
}
});

Комментариев нет:

Поиск по этому блогу