Получить список названий городов на английском и родном языке
У меня есть веб-приложение, которое требует двух выпадающих списков. Одна из стран родного языка; язык определяется приложением. Другой для городов в этой стране, также на родном языке.
Я видел это на многих сайтах, но не смог найти ни одного метода. Я пробовал Google Revise Geo-кодирование, но не смог передать родной язык:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&location_type=ROOFTOP&result_type=street_address&lang=?????
Есть geonames.org, но не могу определить родной язык. Я также попробовал OpenStreetMap.org, но не смог понять API.
Я хочу, чтобы результат был похож на:
Саудовская Аравия -> Риад
المملكة العربية السعودية-> الرياض
Если пользователь английский, потому что это родной язык, поэтому список будет
Любая альтернатива ценится
1 ответ
Вы не можете попросить Google Geocoding API вернуть название местоположения на родном языке, если вы не имеете в виду родной для пользователя, а не родной для этого места.
По умолчанию API пытается загрузить наиболее подходящий язык в зависимости от местоположения пользователя или настроек браузера. Некоторые API позволяют явно устанавливать язык при отправке запроса.
Самое близкое, что вы можете получить, это, вероятно, следующее, но имейте в виду, что это будет подвержено значительным ошибкам:
- Запросите один раз с
lang=en
- Разобрать
short_name
изtypes=country
- Создайте себе справочную таблицу, которая переведет данные с последнего шага в код родного языка этой страны
- Запросите второй раз, прося
lang={languageCode}
Вот список кодов языков для справки: https://developers.google.com/maps/faq