地理编码返回两个可能的位置,但提供错误的地址,因为最准确,正确的地址最不准确

时间:2017-09-14 16:55:35

标签: api google-maps google-maps-api-3 geocoding

使用https://www.google.ca/maps和地理编码api会得到相同的结果:

使用https://www.google.ca/maps并搜索:  143 GARRISON CIR,RED DEER,AB,Canada

返回两个结果:

143 Garrison PL 143 Garrison Cir

使用API​​显示它考虑了第一个' ... Pl'比''更准确... ... Cir'当显然第二个更真实的原始地址用于搜索,因为它包含' Cir' ...

使用:

https://maps.googleapis.com/maps/api/geocode/xml?address=143%20GARRISON%20CIR%20%2C%20RED%20DEER%2C%20AB%20%2C%20Canada

揭示了第一个结果的准确性是: ROOFTOP

,第二个结果的准确性是: RANGE_INTERPOLATED {不准确}

WHY ???

有趣的是......如果我在完整地址中使用邮政编码{我在加拿大邮政中验证了这是正确的}:

' 143 GARRISON CIR,RED DEER,AB T4P0P5,加拿大'

我从这两种方法都没有得到任何结果!

再次......为什么???

1 个答案:

答案 0 :(得分:0)

RANGE_INTERPOLATED结果表示Google数据库中没有确切的街道地址功能,服务会尝试猜测地址所在的位置。也许是由于这个原因,精确的ROOFTOP结果得分高于插值。特别是考虑到两个结果的坐标彼此非常接近:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D143%2520GARRISON%2520CIR%2520%252C%2520RED%2520DEER%252C%2520AB%2520%252C%2520Canada

要解决此问题,您应使用发送反馈机制向Google报告缺少的地址:

https://support.google.com/maps/answer/3094045

另请注意,地址的插值结果具有不同的邮政编码T4N 3M4。更重要的是,如果我尝试搜索邮政编码T4P 0P5,我将只收回邮政编码前缀T4P:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D%26options%3Dtrue%26in_country%3DCA%26in_postal_code%3DT4P%25200P5

这意味着Google数据库中也缺少邮政编码T4P 0P5,您也应该报告它。

由于缺少邮政编码,您将获得完整字符串143 GARRISON CIR , RED DEER, AB T4P0P5, Canada

的ZERO_RESULTS

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D143%2520GARRISON%2520CIR%2520%252C%2520RED%2520DEER%252C%2520AB%2520T4P0P5%252C%2520Canada%26options%3Dtrue

正如您所提到的,我们可以看到相同的行为在maps.google.com上可以重现。地址有两种选择,Garrison Pl是第一项,Garrison Cir是第二项。这证实这是一个数据问题,而不是API问题:

enter image description here

我希望这能解释你的怀疑。