Как бы я использовал постоянную ссылку на результаты геокодирования Google, когда ключи свойств динамически меняются? - PullRequest
1 голос
/ 28 июня 2011

Всякий раз, когда я геокодирую и получаю результаты, имена геометрических свойств для широты и долготы меняются каждый месяц или около того, и мне приходится переписывать имя свойства в соответствии с данными, которые геокодер Google дает мне, чтобы я мог их получить. То, что когда-то было Ха и Я, теперь является Иа и Я для имен собственности. Но я не могу делать это каждый месяц, потому что скоро мне придется развернуть сайт для клиента, и я больше не буду отслеживать его каждые две секунды.

ОК, так что теперь, когда я столкнулся с фиаско геокодирования V3, я могу в любом случае динамически ссылаться на свойства результатов в JavaScript? Кто-нибудь сталкивался с решением?

Ответы [ 3 ]

1 голос
/ 12 июля 2011

Просто перечисляется через объект местоположения, обрабатывая его как ассоциативный массив, используя

для (i в результатах [0] .geometry.location)

, а затем проверяя значение i и делаячто мне нужно сделать соответственно.Я знаю, что он может не перечисляться в правильном порядке все время, но это действительно единственный способ перечислять с помощью динамически изменяющихся ключей свойств.До тех пор, пока Google не изменит «длину» объекта или не введет Lng в алфавитном порядке перед Lat, я буду настроен.Я знаю, что это грязно и НЕ рекомендуется, но сейчас у меня нет времени.Если это сломается в будущем, я посмотрю на прототипно унаследованный объект местоположения, как предложено zigomir и user839721.Просто сделай это по-своему.

0 голосов
/ 12 июля 2011

Использование location.lat () и location.lng () решило эту проблему для меня.

.lat () и .lng () - это методы, доступные при возврате геокодированного результата. В моей консоли Google Chrome Javascript можно видеть широту и долготу в массиве результатов [0] .geometry.location. proto .

Для справки: http://code.google.com/apis/maps/documentation/javascript/reference.html#LatLng

0 голосов
/ 30 июня 2011

Попробуйте вместо этого использовать функции location.lat () или location.lng ().

Я думаю и надеюсь, что вызов этих функций не прекратится с новыми версиями ...

...