Как геокодировать в Google Maps v3 - PullRequest
1 голос
/ 15 декабря 2010

Я просматривал 3-ю версию API карт Google и собрал небольшой скрипт для геокодирования адреса.Проблема в том, что я хочу посмотреть, смогу ли я извлечь значение lng без необходимости «split ()» результата.

function getLatLng() {
  var geocoder = new google.maps.Geocoder();
  var query = "12 henry street, dublin 1, dublin, ireland";
  var address = query;   
  geocoder.geocode( { 'address': address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      var latLng = results[0].geometry.location;
      alert('Geocode succesful ' + latLng);
    } else {
      alert("Geocode was not successful for the following reason: " + status);
    }
  });  
}

Я хочу получить значение lat и lng из var latLngМожно ли это сделать без вызова latLng.split (',');?

Большое спасибо за вашу помощь

Ответы [ 2 ]

9 голосов
/ 21 июня 2012

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

results[0].geometry.location - это объект LatLng, поэтому используйте соответствующие методы:

var lat=results[0].geometry.location.lat();
var lng=results[0].geometry.location.lng();
1 голос
/ 15 декабря 2010

Вы можете использовать это:

var lat= results[0].geometry.location.lat();                     
var lng= results[0].geometry.location.lng();                     
alert(lat);  
alert(lng);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...