Широта, долгота граббер - PullRequest
       18

Широта, долгота граббер

6 голосов
/ 06 апреля 2011

Я хотел бы создать приложение, в котором, когда кто-нибудь нажимает на объект карты и два поля заполняются широтой и долготой при каждом нажатии. Есть ли где-нибудь пример кода Google Maps V3 JavaScript API (API геокодирования), который делает что-то подобное?

Ответы [ 4 ]

18 голосов
/ 06 апреля 2011

Этого можно добиться с помощью google.maps.event ' свойства LatLng:

Примерно так можно показать, как это работает.Вот демоверсия JSFiddle:

google.maps.event.addListener(map, 'click', function(event){
       alert('Lat: ' + event.latLng.lat() + ' Lng: ' + event.latLng.lng());
});

Где карта - это объект вашей карты Google.Да, пример в V2, я думаю, и если вы хотите создать маркер при нажатии, вы можете просто создать его в функции обратного вызова click.

5 голосов
/ 30 июня 2011

Вот полный код для версии 2, которую я использовал долгое время и опубликовал на сайте.

http://vikku.info/programming/google-maps-v2/get-lattitude-longitude-onmouseover-and-onmouseclick-google-map-v2.htm

просто нажмите просмотреть исходный код в браузере и скопируйте, чтобы сохранить содержимое. это будет работать отлично. Единственное, вам нужно изменить ключ API карты.

Вот код для карты Google версии 3

http://vikku.info/programming/google-maps-v3/get-lattitude-longitude-onclick-and-onmouseover-google-map-v3.htm

3 голосов
/ 14 апреля 2011
function onload()
{
 var map= new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
});
google.maps.event.addListener(map, 'click', function(event){
       alert('Lat: ' + event.latLng.lat() + ' and Longitude is: ' + event.latLng.lng());

}

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

1 голос
/ 06 апреля 2011
var map = [google map];

google.maps.event.addListener(map, 'click', function (mouseEvent) {
    alert(mouseEvent.latLng.toUrlValue());
});
...