2011-11-03 3 views
2

У меня есть проблема с получением lat/lng с карты google в моем приложении.
Когда я помещаю в предупреждающее сообщение, 'lat()' или 'lng()' карта вообще не отображается.
В коде, который я начертил на карту, я получаю сообщение с сообщением «undefined».
Я хочу хранить lat и lng в текстовом поле на странице, когда пользователь перемещает карту (здесь я пытаюсь щелкнуть), но что-то здесь не работает?Как получить текущую широту и долготу с карты google

function initialize() { 
     var latlng = new google.maps.LatLng(44.012, 20.921); 
     var myOptions = { 
      zoom: 13, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

     google.maps.event.addListener(map, "click", function (latlng) { 
      if (latlng) { 
       alert(latlng.lat); 
      } 
     }); 
    } 

ответ

1

latlng должен быть в event объекта, переданного в Итак, для того, чтобы извлечь его, вы могли бы сделать что-то вроде этого:.

google.maps.event.addDomListener(map, 'click', function(event) { 
    var myLatLng = event.latLng; 
    var lat = myLatLng.lat(); 
    var lng = myLatLng.lng(); 
    alert('lat '+ lat + ' lng ' + lng); 

} 
+0

Вы попробовали это с помощью 'addDomListener'? Я не знаю, какую версию API вы используете. Также возникают ли ошибки в консоли? Это может дать некоторую подсказку. –

+0

Как я могу получить автоматическую геолокацию моего текущего местоположения, например google map. – 151291

0

Вы также можете получить lat и lng экземпляром google map:

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); // map instance 

google.maps.event.addListener(map, "click", function() { 
    var lat = map.data.map.center.lat(); 
    var lng = map.data.map.center.lng(); 
}); 
Смежные вопросы