我们正在使用Google map api查找两个邮政编码之间的距离。我们可以使用google map api Working Map API example获取任意两个邮政编码之间的距离。一些邮政编码这个api在没有任何空格的情况下发送邮政编码时返回NotFound错误,但对于相同的邮政编码如果我们在3个字母后面给出空格它运作良好并正确返回距离。
API网址
http://maps.googleapis.com/maps/api/distancematrix/json?origins=H3W3C4&destinations=H1C0A6&mode=driving&language=en-EN&sensor=false
示例1:
网址:http://maps.googleapis.com/maps/api/distancematrix/json?origins=H3W3C4&destinations=H1A0C2&mode=driving&language=en-EN&sensor=false 邮政编码:H1A0C2, api结果:NotFound
示例2:
网址:http://maps.googleapis.com/maps/api/distancematrix/json?origins=H3W3C4&destinations=H1A 0C2&mode=driving&language=en-EN&sensor=false 邮政编码:H1A 0C2,api 结果:返回正确的距离
如果我们给出没有空格的邮政编码,下面是api返回NotFound的邮政编码列表(但是如果我们给出像'H1A 0C2那样的空间它会返回结果)
H1A0C2
H1A0C3
H1A0C4
H1B0B7
H1C0E3
H1C0E4
H1C0E5
H1C0E6
H1C0E7
H1C0E8
H1C0E9
H1C0G1
H1C0G2
下面列出了邮政编码,如果我们给予/没有空格,api会正确返回距离(如果我们给出'H1C 0A7'和'H1C0A7',那么效果很好。
H1C0A7
H1C0A8
H1C0A9
虽然它适用于大多数邮政编码有或没有空间,但对于少数邮政编码,它不返回没有空格的值。可能是什么原因?
答案 0 :(得分:1)
我建议检查一下Google数据库中是否存在邮政编码。
例如,邮政编码H1A0C2
似乎缺失
如您所见,地理编码器工具仅返回邮政编码前缀HA1
,而不返回邮政编码本身。
邮政编码H1C0A9
地理编码器会返回完整的邮政编码:
我认为距离矩阵无法找到丢失邮政编码的距离。但是,当您添加空白空间时,它可以找到邮政编码前缀并根据邮政编码前缀的坐标计算距离。因此,在这种情况下,结果可能不够精确。
您可以向Google报告丢失的邮政编码,如以下支持文档中所述:
https://support.google.com/maps/answer/3094088
希望这有帮助!