获取英语和母语的城市名称列表

时间:2016-08-16 20:20:02

标签: c# api geocoding city

我有一个需要两个下拉列表的网络应用程序。 有母语的国家之一; 语言由应用程序决定。 另一个是该国的城市, 也用母语。

我在很多网站上都看过这个,但找不到任何方法。我试过谷歌修改地理编码,但无法通过母语:

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。

我希望输出如下:
沙特阿拉伯 - > Riad

المملكةالعربيةالسعودية - > الرياض

如果用户是英语,因为它是母语,那么列表将同时具有

感谢

1 个答案:

答案 0 :(得分:1)

您不能要求Google地理编码API以母语返回位置名称,除非您的意思是原生用户而非本地人。

  

默认情况下,API会尝试根据用户位置浏览器设置加载最合适的语言。某些API允许您在发出请求时明确设置语言

你可以得到的最接近的可能是以下内容,但记住这一点很容易出错:

  • 使用lang=en
  • 查询一次
  • 解析short_name
  • types=country
  • 为自己构建一个查找表,将最后一步的数据转换为该国家/地区的母语代码
  • 第二次询问lang={languageCode}

以下是供参考的语言代码列表:https://developers.google.com/maps/faq#languagesupport