2015-09-20 5 views
0

Использование AngularJS и Google Maps API Я получаю координаты от адреса, используя этот код:Google Maps: Получение координат

var geocoder = new google.maps.Geocoder(); 
      geocoder.geocode({'address': address}, function (results, status) { 

       if (status === google.maps.GeocoderStatus.OK) { 
        var lat = results[0].geometry.location.A || results[0].geometry.location.G || results[0].geometry.location.H; 
        var lng = results[0].geometry.location.F || results[0].geometry.location.K || results[0].geometry.location.L; 

        //Something to do 
      }); 

Когда я начал проект я пишу только это:

var lat = results[0].geometry.location.A 
var lng = results[0].geometry.location.F; 

в проходе времени, API Google Maps изменил название переменных в location.G и location.K и мне нужно заново отредактировать код для этого:

var lat = results[0].geometry.location.A || results[0].geometry.location.G; 
var lng = results[0].geometry.location.F || results[0].geometry.location.K; 

Теперь API Карт Google снова изменили название переменных в location.H и location.L ...

Новый код:

var lat = results[0].geometry.location.A || results[0].geometry.location.G || results[0].geometry.location.H; 
var lng = results[0].geometry.location.F || results[0].geometry.location.K || results[0].geometry.location.L; 

Я не» я хочу изменить мой код, я хочу, чтобы мой код был стабильным ... Есть ли способ получить координаты более стабильными?

Спасибо!

ответ

1

Это похоже на повторение этого вопроса:

google.maps.Geocoder.geocode() geometry.location lat/lng property names change frequently

Ответ таков:.

«Использовать документированные свойства, они не изменятся geometry.location является google.maps.LatLng объект, документированные методы: lat() number Возвращает широту в градусах. lng() number Возвращает долготу в градусах ЕЕС «.

Смежные вопросы