以本地语言接收Google自动填充结果

时间:2017-04-17 06:21:11

标签: javascript google-maps google-maps-api-3

Google JavaScript API V3允许更改英语,德语或法语的语言,但是当我在英语API中搜索“科隆”时,它应该返回“Köln”,就像我在法语中搜索“Frankfurt”一样,它应该归还给我“法兰克福”而不是“法兰克福”。人们可能会搜遍整个欧洲,我想在每个结果城市的当地语言中获得具体结果。怎么可能?

2 个答案:

答案 0 :(得分:0)

通过JavaScript API使用自动填充服务时,API会检测最终用户的浏览器设置并正确设置语言。请参阅我们的文档以供参考:

https://developers.google.com/maps/documentation/javascript/localization

话虽如此,如果您在调用JS API时未包含语言参数,则该语言将默认为最终用户中的设置'浏览器。这很可能是该用户的本地语言。

我希望这有帮助!

答案 1 :(得分:0)

有一种方法可以做到这一点,至少部分是这样做的。

首先我要指出前提:

  • 以下地图API和Google地图将保持一致。
  • 政治实体的名称以用户首选语言显示。
  • 街道级地址以本地语言显示,其脚本与其首选语言相符。

考虑到这些,您可以执行以下操作:

  1. 一旦用户选择了一个城市(place_changed事件被触发),请选择 城市的typeslocation latlng。
  2. 执行城市位置的反向地理编码。
  3. 使用location_type以外的"APPROXIMATE"搜索结果。
  4. 在这些结果中,搜索与城市相同的address_component types。这将是当地语言的城市名称。
  5. 示例:为法国用户获取“Köln”:

    1. 用户输入“Cologne”并选择“Cologne,Allemagne”。
    2. 城市已经发布了50.937531,6.960279和types: ["locality", "political"]
    3. 50.937531,6.960279的反向地理编码会返回location_type"APPROXIMATE"以外的2个结果。
    4. 从第一个结果开始,第4个address_componenttypes: ["locality", "political"]。它的名字是“Köln”。
    5. 请注意,在对用户友好的脚本中,名称​​始终,因此您为德国用户(而不是“北京”)或“Tōkyō-to”而不是“东京”获得“北京”都”。