Я пытаюсь определить зону расположения пользователей, используя их широту и затем отправляя их в API Карт для определения его Административной зоны (города, провинции, района и т. Д.), Так называемой " Административной зоны"это то, что я ищу, и я успешно получил название области от Maps Geocode API.
Я пытаюсь добиться фильтрации (или категоризации) пользователей на основе их административной области, мойтекущая попытка состоит в том, чтобы у меня были таблицы SQL, разделенные уровнями административной области (от нации до уровня 3, на основе этого уровня ), а затем сопоставление имени области на уровне области с базой данных.
Проблема в том, что я не могу найти источник или базу данных административных областей, которые бы соответствовали именам областей API Карт Google
, например, этот запрос https://maps.googleapis.com/maps/api/geocode/json?key=YOUR_VERY_OWN_KEY&latlng=-7.79611,110.36194&result_type=administrative_area_level_3&language=en
здесь яиспользуя параметр languauge=en
, поэтому результат будет всегда согласованным независимо от местоположения запрашивающей стороны.
приведенный выше запрос приведет кс одним из address_component
, таким как
"long_name": "Special Region of Yogyakarta",
"short_name": "Jogja",
"types": [
"administrative_area_level_1",
"political"
]
, но с любым доступным из Интернета источником, имеющим наименование уровня административной области 1, перечислите часть short_name
как Yogyakarta
, более того, в этом списке нет источникав указанной области используется long_name
наименование
. Тогда возникают вопросы
есть ли какие-либо общедоступные данные списка или источника, которые содержат имена административной области, совпадающие с именами результатов API Карт Googleсоглашение?
учитывая текущее состояние (где у меня нет никаких «начальных» данных), мой подход правильный?Есть ли лучший способ сделать это, чем пытаться использовать результат API Карт с подходом Dictionary-ish Database?
Спасибо
Add.1: Динамическое заполнение базы данных имен областей (словарь)посмотрев сначала, если имя области не существует, то INSERT
-ing пока что нет вариантов, так как у меня не так много ресурсов для одновременной работы SELECT
INSERT
.