层次结构不清晰 Google 地图 API

Unclear hierarchical structure Google Maps API

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

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

如果我在同一个城市进行地理编码和地址,google returns 它作为一个地方。如果我对 "Van Pallandtweg 11, 4182 CA Neerijnen, Nederland" 进行地理编码,我会得到以下结果:

谁能解释一下其中的逻辑?

地理编码 API 旨在将地址字符串解析为坐标,反之亦然。为了获得更好的结果,您应该以国家邮政服务支持的格式提供完整的地址。当您提供像 Neerijnen, Nederland 这样的字符串时,这不会被视为完整的街道地址,而是不完整或不明确的查询。事实上,Neerijnen 是荷兰的一个自治市和一个城镇,因此 Google 数据库中有同名的行政区和地方。地理编码 API 旨在 return 正向地理编码的最佳匹配(通常只有一个结果)。如果像您的示例中那样存在歧义,Google 将 select 根据内部标准获得更高分数(显着性)的结果。我不能说为什么admin area 2的分数更高,因为我不是来自Google.

可以看到行政区域边界

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

希望对您有所帮助!