Google Geocode API - бронирование в Индии - PullRequest
2 голосов
/ 19 января 2012

Почему тип не возвращается, если компонент адреса является индийским Бронирование? Он просто возвращается, как показано ниже, и из-за отсутствия типа он вызывает ошибку при попытке геокодировать адреса, которые возвращают индейское резервирование.

<address_component>
 <long_name>Hopi Indian Reservation</long_name>
 <short_name>Hopi Indian Reservation</short_name>
</address_component>

Пример адресов: HWY 160 и HWY 264 Город Туба, AZ 86045

ИЛИ

HWY 160 и HWY 163 Кайента, AZ 86033

1 Ответ

4 голосов
/ 26 января 2012

Я полагаю, что документация о типах компонентов адреса слишком тонка, чтобы не упомянуть тот факт, что нет никакой гарантии, что массив types[] всегда будет содержать что-либо или что эти типы может также быть возвращено в address_components[] массивах ... или не может.

Ваш пример довольно хорошо воспроизводит это поведение:

http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Hopi%20Indian%20Reservation

Массив types[] пуст для первого результата и для его первого компонента адреса.

В краткосрочной перспективе, я думаю, ваш (и все) код должен быть готов принять пустой types[]массивы.В долгосрочной перспективе, я бы согласился, что лучше дать каждому результату хотя бы один тип.Для конкретного случая индейских резерваций я понятия не имею, какой из них (если есть) будет иметь смысл.Может быть, один из ...

  • политический указывает на политическую единицу.Обычно этот тип указывает на полигон какой-либо гражданской администрации.
  • colloquial_area указывает обычно используемое альтернативное имя для объекта.
  • park указывает на именованный парк.
  • point_of_interest указываетназванная достопримечательность.Как правило, эти «POI» являются видными местными объектами, которые нелегко вписываются в другую категорию, такую ​​как «Эмпайр Стейт Билдинг» или «Статуя Свободы».

Если у кого-то есть четкое представление о том,чтобы классифицировать их в доступных типах компонентов адреса , отправьте запрос на функцию для API геокодирования;)

...