我对Google Places API的内容区域设置有疑问。在我的应用程序中,我们使用Places Autocomplete,当用户选择特定位置时,我们会使用Places Detail API来获取信息 关于这个地方。请注意,我没有限制自动填充中的地点“类型”。
考虑这个例子,“香港格兰特凯悦酒店”地方自动完成返回建议。该建议的地方ID为“ChIJ7VpqmF4ABDQRi1SbdlsRfys”
使用地方详情API,https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJ7VpqmF4ABDQRi1SbdlsRfys&key=& language = en,内容包含中英文信息。
--------------------------
"address_components" : [
{
"long_name" : "灣仔",
"short_name" : "灣仔",
"types" : [ "neighborhood", "political" ]
.................
.................
"name" : "Grand Hyatt Hong Kong",
},
--------------------------------
但是,当我使用Geocode API执行搜索时, http://maps.google.com/maps/api/geocode/xml?address=Grand%20Hyatt%20Hong%20Kong,%20hong%20kong,我完全用英语获取内容。我注意到在这种情况下返回的地方ID与Places API自动完成服务不同。
显然,Google的数据库中包含有关此地点的英文信息。根据places文档,google place API会尝试在请求的区域设置中返回信息。在这种情况下,谷歌的数据库具有英语语言环境中的信息。
为什么这与Places API有区别?
答案 0 :(得分:0)
我只能解决你问题的一部分。为什么地理编码API和Places API搜索会返回不同的结果?
地理编码API没有考虑任何业务,因此您获得的结果是具有地点ID ChIJUzElmV4ABDQRyXzjJRwo3VE的不同对象。这是一个复合建筑,Geocoding API可以进行本地化,您可以在Map Maker中看到这个建筑物:
https://mapmaker.google.com/mapmaker?gw=90&iwloc=0_0&dtab=history&cid=5898915188285078729
Places API可以找到地点ID为ChIJ7VpqmF4ABDQRi1SbdlsRfys的商家。您可以在地图制作工具栏中看到相应的功能:
https://mapmaker.google.com/mapmaker?gw=90&iwloc=0_0&dtab=history&cid=3134242950202741899
参考翻译,我相信您应该向Google数据小组提出此问题。
请使用maps.google.com右下角的“报告问题”链接,具体如下:
https://support.google.com/maps/answer/162873
希望它有所帮助!