gpt4 book ai didi

javascript - Google map API V3 响应语言的城市名称错误

转载 作者:行者123 更新时间:2023-12-03 06:34:33 26 4
gpt4 key购买 nike

我正在尝试实现谷歌地图API。除了谷歌返回的响应之外,一切都运行良好。该响应将城市名称翻译为我的区域语言 (NL),但将国家/地区保留为所需的语言 (EN)。

map 和自动填充都显示城市的 EN 名称。然而,当点击建议时,输入会在不到一秒的时间内更改为 NL 变体(再次将国家/地区名称保留为 EN)

这是我当前使用的脚本标记:

<script type="text/javascript" src='http://maps.google.com/maps/api/js?libraries=places&language=en&key=MYKEY'></script>

我得到的当前输出:

addressLine1:"14 Bisschopsstraat"
addressLine2:""
city:"Brussel"
country:"Belgium"
country_short:"BE"
postalCode:"1000"
stateOrProvince:"Brussel"
streetName:"Bisschopsstraat"
streetNumber:"14"

我已经尝试过:

  • region=GB 添加到脚本标记 src 查询,但这只会影响搜索区域优先级
  • 阅读所有文档(尽管没有太多关于如何更改响应语言的内容)

响应错误的示例:

Brussel should be Brussels

Antwerpen should be Antwerp

Autocomplete example

最佳答案

如果您使用地理编码或地点服务,这似乎是预期的行为。

请看一下这篇文章: http://googlegeodevelopers.blogspot.com.es/2014/11/localization-of-street-addresses-in.html

Street-level addresses returned by the Google Maps Geocoding API now favor the local language, while keeping the address understandable as much as possible for both a user who only reads the requested language as well as locals.

If the local language and user language both use the same alphabet, the Geocoding API will now return the local names for the streets and localities. For example, searching for an address in Brazil with user language set to English now returns “Avenida Paulista” rather than “Paulista Avenue”.

我能想到的解决方法如下:

  1. 您可以从自动完成元素中获取地点 ID https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Bisschopsstraat%2014%2C%20Brussels%2C%20Belgium&key=YOUR_API_KEY这将返回地点 ID EiVCaXNzY2hvcHNzdHJhYXQgMTQsIEJydXNzZWxzLCBCZWxnaXVt
  2. 您执行地点详细信息请求以获取纬度和经度 https://maps.googleapis.com/maps/api/place/details/json?placeid=EiVCaXNzY2hvcHNzdHJhYXQgMTQsIEJydXNzZWxzLCBCZWxnaXVt&key=YOUR_API_KEY这将返回 50.8503548,4.351704499999999
  3. 对纬度、经度执行反向地理编码,指定结果类型为地区,语言为英语 https://maps.googleapis.com/maps/api/geocode/json?latlng=50.8503548%2C4.351704499999999&language=en&result_type=locality&key=YOUR_API_KEY这里有 "formatted_address":"布鲁塞尔,比利时"

关于javascript - Google map API V3 响应语言的城市名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com