Подтвердить что ты не робот

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

У меня есть приложение, и я использую API геокодирования Google Javascript для получения lat/lng для адреса.

Код выглядит примерно как

geocoder = new google.maps.Geocoder()
geocoder.geocode({ 'address': query }, function(results, status) {
    addresses = {};
    $.each(results, function(index, value){
        addresses[index] = {"lat":value.geometry.location.$a,"lng":value.geometry.location.ab}
    })
});

Все в порядке и dandy, но дело в том, что имена свойств объекта местоположения периодически меняются. Каждый раз, когда они меняются, мой сайт ломается.

Дважды мне приходилось менять свой код, чтобы вносить изменения в имена переменных свойств lat/lng в google geolocation api. Первоначально это был Ха, Я, тогда мне пришлось перейти на Я, За, а теперь его $a, ab. Я не вижу никакой удобной для пользователя логики этих изменений.

Кто-нибудь знает, почему эти имена свойств изменяются, и/или какую стратегию я могу использовать для получения lat/lng, избегая проблем, вызванных этими изменениями имени свойства?

4b9b3361

Ответ 1

Используйте документированные свойства, они не изменятся

geometry.location - это объект google.maps.LatLng, документированные методы:

lat()   number  Returns the latitude in degrees.
lng()   number  Returns the longitude in degrees.