层次结构不明确 谷歌地图 API



如果我对区域和/或地址进行地理编码,谷歌地图 api 会返回不合逻辑的地理结果。有时将城市返回为行政区域,有时将同一城市返回为一个地方。为什么?我只是不明白逻辑。

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

  • 国家: 荷兰
  • 行政区域一级:海尔德兰
  • 行政区域2级:Neerijnen

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

  • 国家: 荷兰
  • 行政区域一级:海尔德兰
  • 位置:内里嫩
  • 街道: 范帕兰特韦格
  • 等。

有人可以解释一下逻辑吗?

地理编码 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

有一篇关于地理编码 API 最佳实践的文章,其中还介绍了不完整和不明确的查询情况:

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

我希望这有帮助!

相关内容

  • 没有找到相关文章