Я полагаю, что документация о типах компонентов адреса слишком тонка, чтобы не упомянуть тот факт, что нет никакой гарантии, что массив 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 геокодирования;)