Google 地点自动完成 API 没有 return 结果以正确的语言显示

Google Place Autocomplete API doesn't return the results in the correct language

我使用的是文档页面中的相同代码 https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform 我还在加载脚本时设置了 &language=en。

当我搜索 München 时,城市字段中填充了 Munich,但是当我搜索 München 中的地址(例如:德国慕尼黑 Residenzstraße)时,城市字段中填充了 München 而不是 Munich。

似乎 autocomplete.getPlace() 没有考虑加载脚本时指定的语言。

该问题在提供的文档 link 上也可重现。

如何指定我总是想要英文结果?

您是否尝试在 url 上指定语言?

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types=geocode&language=en

我认为 places 正在尽力进行翻译,如果我将 lang 设置为 JP,它会给我一个国家/地区为日语的结果。我想说这个地址是 API 可以给出的最好的日语本地化地址。

更支持这一点的是,当我们将成田国际机场的地址(日文)放入框中时,它会 return 一个英文地址。

所以..如果真的有问题,那就是 Google 地图数据库或翻译中缺少信息。

所以我会说 Google Place Autocomplete API 确实尝试 return 以正确的语言显示结果...

解决方法是获取地理位置并从 openstreet 地图获取地址 API... 如下所示:

http://kylelam.github.io/SO/autoCompleteWithOpenStreetMap.html

https://github.com/kylelam/kylelam.github.io/blob/master/SO/autoCompleteWithOpenStreetMap.html

此问题已报告错误 https://code.google.com/p/gmaps-api-issues/issues/detail?id=7504&q=language&sort=-id&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal