изменения геокодирования карт Google - PullRequest
2 голосов
/ 11 января 2012

Кто-нибудь заметил, что геокодирование карт Google изменило имя переменной lat и lng с Qa и Ra на Pa и Qa.

Кто-нибудь знает причину этого?

1 Ответ

6 голосов
/ 11 января 2012

Редактировать : Если вы используете Службу геокодирования Карт Google , как предлагает @hamczu, то вы должны получить следующие результаты:

{
 ... snip ...
 geometry: {
   location: LatLng,
   ... snip ...
 }
}

Похоже, вы не используете методы API для объекта LatLng, а вместо этого пытаетесь использовать его недокументированные свойства. Ваш вопрос демонстрирует одну из лучших причин, почему это плохая идея - код Google сжимается и запутывается, используя короткие произвольные имена переменных и свойств, и Google может в любой момент повторно сжать свой код, произвольно меняя эти имена. Что не изменится , так это имена функций и атрибутов в опубликованном API - в этом и заключается весь смысл использования API и причина, по которой разработчики должны кодировать против API, а не «недокументированные возможности» доступного в настоящее время кода.

Таким образом, наилучшим подходом является использование документированных методов :

var lat = result.geometry.location.lat();
var lng = result.geometry.location.lng();

В противном случае ваш код, вероятно, будет нарушаться каждый раз, когда Google повторно сжимает его код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...