不清楚的层次结构Google Maps API

问题描述 投票:0回答:1

如果我对地理区域和/或地址进行地理编码,则谷歌地图api会返回非逻辑地理结果。有时一个城市作为管理区域返回,有时同一个城市作为一个地点返回。为什么?我只是没有得到逻辑。

例如,如果我对“Neerijnen,Nederland”(https://maps.googleapis.com/maps/api/geocode/xml?address=Neerijnen,Nederland)进行地理编码,我会得到以下结果:

  • 国家:荷兰
  • 行政区1级:海尔德兰
  • 行政区域2级:向下

如果我在同一个城市进行地理编码和地址,Google会将其作为地点返回。如果我对“Van Pallandtweg 11,4182 CA Neerijnen,Nederland”进行地理编码,我得到以下结果:

  • 国家:荷兰
  • 行政区1级:海尔德兰
  • 地点:Neerijnen
  • 街:Van Pallandtweg
  • 等等

有人可以解释逻辑吗?

google-maps google-maps-api-3 geocoding google-geocoding-api
1个回答
2
投票

Geocoding API旨在将地址字符串解析为坐标,反之亦然。为了获得更好的结果,您应该提供国家邮政服务支持的完整地址。当您提供像Neerijnen, Nederland这样的字符串时,这不被视为完整的街道地址,而是不完整或模糊的查询。实际上,Neerijnen是荷兰的一个市镇和一个城镇,因此Google数据库中的行政区域和地点具有相同的名称。地理编码API旨在返回正向地理编码的最佳匹配(通常只有一个结果)。如果您的示例中存在歧义,Google将根据内部条件选择分数较高(突出)的结果。我不能说为什么管理区2有更高的分数,因为我不是来自谷歌。

您可以看到管理区域边框

https://maps.google.com/?q=Neerijnen,+Netherlands&ftid=0x47c6f414182c45d5:0xb34aa41b420fdfa4

和地方边界

https://maps.google.com/?q=4182+Neerijnen,+Netherlands&ftid=0x47c6f4192fae3201:0x9c3d72f48c595a87

有一篇关于Geocoding API最佳实践的文章也涵盖了不完整和模糊的查询:

https://developers.google.com/maps/documentation/geocoding/best-practices

我希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.