Получить все населенные пункты и суб-населенные пункты из заданного города Google Places API

Я ищу веб-службу или плагин Google Place API для извлечения населенных пунктов, районов и районов с заданным названием города.

пробовал свои силы с google и geonames, но не смог пройти через это.

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=hyderabad&types=(locality)&language=en_US&key=My_KEY


https://maps.googleapis.com/maps/api/geocode/json?/?address=hyderabad&key=My_KEY

попробовал эти два способа. любая помощь будет оценена.


person saikiran    schedule 01.09.2015    source источник


Ответы (1)


Город определяется как

населенный пункт указывает на объединенный город или городскую политическую единицу.

и подлокальность как:

населенный пункт указывает на гражданское образование первого порядка ниже населенного пункта. Для некоторых локаций может быть назначен один из дополнительных типов: от sublocality_level_1 до sublocality_level_5.

в типы компонентов адреса в геокодировании. Также следует обратиться к списку поддерживаемых типов для использования с параметром запроса типов и возвращенных Google API.

Идея состоит в том, чтобы начать с назначенного sublocality_level_1 в вашем городе, получить sublocality_level_2 и сохранить их в БД. Повторите, но только на этот раз с sublocality_level_2, чтобы получить sublocality_level_3. Ключевым моментом является сохранение геометрии и имени адреса (длинное имя, короткое имя и т. д.) в БД, чтобы вы могли запустить их снова, чтобы получить адекватную, если не всю информацию, тем самым имитируя поведение масштабирования. Наконец, используйте API-интерфейсы автозаполнения для получения (суб)локации, которая не попала в ваш магазин, но, как вы знаете, должна была быть получена.

Подстановка сублокальности, местности и административной области level_1 в запросе геокодирования json :

https://maps.googleapis.com/maps/api/geocode/xml?address=[sublocality.1],+[locality],+[admin_area_level.1]&key=API_KEY

Убедитесь, что подлокальность.1 находится в нужном месте.

<address_component>
  <long_name>sublocality.1</long_name>
  <short_name>sublocality.1</short_name>
  <type>sublocality_level_1</type>
  <type>sublocality</type>
  <type>political</type>
</address_component>
<..></..>
<..></..>
<geometry>
  <location>
    <lat>nn.nnnnnnnnn</lat>
    <lng>nn.nnnnnnnnn</lng>
  </location>

Используйте поиск Radar с параметрами запроса location=&radius=10000&types=(regions )

Ссылка на поддерживаемые типы

Коллекция типов (regions) указывает службе Places возвращать любой результат, соответствующий следующим типам:

Затем извлеките все place_id, используйте API сведений о месте, который принимает place_id в качестве параметра запроса и требует api_key.

Ответ сведения о месте должен содержать все sublocality_level_2 для выбранного sublocality_level_1. Сохраните их в БД, исключив дубликаты по имени. В конце этого у вас есть одно местоположение для местности (города), выбранное sublocality_level_1 и количество сохраненных объектов sublocality_level_2 Location.

Это должно быть сделано для sublocality_level_2. Так как они занимают значительную площадь, я считаю, что их отсутствие в идеале может и не произойти. Если вы пропустите, используйте API автозаполнения, если вы знаете начальные символы или Обратное геокодирование, если вы знаете точную геометрию отсутствующего уровня_2.

Вышеуказанные шаги повторите для sublocality_level_3 под заданным level_2 с известным именем.

Для каждой геометрии используйте Обратное геокодирование, чтобы получить уровень_3, который, если его нет в магазине, работает против Сведения о месте, снова получить sublocality_level_2 и сохранить. Это необходимо, так как некоторые уровни level_3 напрямую связаны с уровнями level_1. Этот шаг аналогичен тщательному увеличению карты для поиска местности.

Используйте JSON

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=&types=(regions)&location=latitude,longitude&radius=1000&key=YOUR_API_KEY

Обратите внимание на () вокруг регионов. Это дает вам местность и другие. См. https://developers.google.com/places/web-service/autocomplete< /а>

Весь процесс можно повторить с sub_locality_type_1, расположенным рядом с ранее использованным. Используйте для этого поиск поблизости (поиск места). Параметрами запроса для определения местоположения должны быть геометрия юго-западной и северо-восточной границ указанной выше местности level_1 (суб). Обратите внимание на использование radius=1. Используемый JSON URI:

https://maps.googleapis.com/maps/api/place/nearbysearch/output?parameters

person Mahesh    schedule 20.12.2015