2016-07-05 1 views
0

Я использую это: geocoder.geocode (geoRequest, функция (результаты, состояние) { ... ... }Возможно ли получить согласованные данные address_components из API геокодирования?

Проблема в том, что данные, возвращаемые из геокодером кажется несовместимым Вероятно, стоит упомянуть, что когда я загружаю файл js для API карт перед вызовом геокодера, я указываю язык (и что я также указываю страну (например: AU для Австралии) в переменной geoRequest в геокодере. geocode call).

Чтобы упростить другим пользователям то, что я пытаюсь понять, мы можем использовать только этот URL: http://maps.googleapis.com/maps/api/geocode/json?components=country:AU&language=en&address=darwin

Интересные детали в результате то, что этот запрос returnes эти address_components параметра long_name:

Австралия

Северная территория (short_name = NT)

Дарвин

Если я включаю «улица Бриггс "в поиске, так что я получаю этот URL: http://maps.googleapis.com/maps/api/geocode/json?components=country:AU&language=en&address=briggs+street,darwin

, то я получаю эти address_components параметра long_name:

Австралия

Северная территория (short_name = NT)

Darwin Муниципалитет

Дарвин Город

Бриггс Street

Мои вопросы:

Почему «Дарвин» не возвращается во втором примере, где я ищу «Бриггс-стрит, Дарвин»? В этом случае текст:

Darwin Муниципалитет

Дарвин Город

Можно ли сообщить геокодера API, что я хочу последовательные hierarcical результаты возвращаются, так и без указания, например, дорога?

Причина, по которой я прошу, состоит в том, что я хочу собирать статистическую информацию som, исходя из указанных пользователем мест, либо путем ввода имени города, либо улицы. Я надеюсь, что смогу использовать возвращенные компоненты component_addresses для сборки в базе данных с другой информацией от клиента (пользователя).

Однако статистические отчеты не будут очень согласованными, если, например, вы хотите увидеть некоторые статистические данные для Дарвина (зарегистрированные пользователями только в «darwin»), поскольку данные, введенные пользователем, входящим в «Бриггс-стрит, Дарвин», не получат данные, хранящиеся ниже местоположения «Дарвин» (как для первый пользователь), поскольку «Дарвин» отличается от «Дарвин Сити» и «Дарвинского сообщества».

Подобное несоответствие можно наблюдать в поисках "улицы Fulton, Бруклина" и "Бруклинский"

Этот поиск Бруклина: компонентов = страна?: US & адрес = Бруклинский

возвращается:

США

Нью-Йорк (short_name = NY)

Kings County

Нью-Йорк

Бруклин

... Но этот поиск "Фултон + улица Бруклин": компоненты = страны?: США & адрес = Фултон + улица, Бруклинский

возвращается:

США

Новый Йорк (short_name = NY)

Kings County

Бруклин

Fulton Street

Почему нет "Нью-Йорк" между "Kings County" и "Бруклин" в последний результат выше? Опять ... кажется, есть какая-то непоследовательность.

ответ

1

Вот еще один пример, в настоящее время для Дании:

Поиск Оденсе: http://maps.googleapis.com/maps/api/geocode/json?components=country:DK&language=en&address=odense

дает мне этот результат:

Дания

Регион Syddanmark (administrative_area_level_1)

[...]

Если я ищу на улице ryttergade в Оденсе, как это: http://maps.googleapis.com/maps/api/geocode/json?components=country:DK&language=en&address=ryttergade,odense

то область «Регион Syddanmark» (administrative_area_level_1) не в результирующем. Почему это так?

Есть ли способ сообщить геокодеру, что я хочу, чтобы имя_имени_реальности_1 возвращался в наборах результатов, например, название улицы включено?

+0

Пожалуйста, добавьте примеры, отредактировав свой вопрос, а не ответив на него. – miguev

0

Вы можете получить их путем обратного геокодирования latlngs, но не всегда путем геокодирования адресов улиц.

Дарвин

address=Darwin возвращает разговорный город, который отличается от "Darwin City" вы получаете address=briggs+street,darwin. Разговорные города обозначены цифрой "types": ["colloquial_area", "locality", "political"], а не "types" : ["locality", "political"]

(нечетный) «Дарвин Сити» содержится в муниципалитете Дарвина, а разговорный город «Дарвин» - нет. Последнее содержится только в следующем (большем) политическом подразделении «Северная территория», которое также содержит «муниципалитет Дарвина». Это объясняет компоненты, которые вы видите.

Бруклин

Бруклин и несколько других частей Нью-Йорк немного особенные. Там название города (Нью-Йорк) не имеет отношения к почтовым адресам. Поэтому адрес на уровень улиц не должны иметь расположение, и поэтому address_components

Odense

же, как и в Бруклине, за исключением того, что это, кажется, имеют место во всей стране: administrative_area_level_1 компонент не отображается, поскольку он не относится к адресам на уровне улицы.

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