Карты Google: получение координат

0

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

  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 изменил имя переменных на 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;

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

Благодарю!

Теги:
google-maps
google-maps-api-3

1 ответ

1
Лучший ответ

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

google.maps.Geocoder.geocode() Часто задаваемые имена геометрии.location lat/lng изменяются

Ответ:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню