2017-06-21 37 views
0

我们使用Google map api来查找两个邮政编码之间的距离。我们可以通过google map api Working Map API example获得任意两个邮政编码之间的距离。当邮政编码没有任何空格发送时,某些邮政编码这个api会返回NotFound错误,但是如果我们在3个字母之后给出空格,它会很好地工作并返回正确的距离,但是对于相同的邮政编码。谷歌地图api返回Notfound结果用于计算距离的有效邮政编码

API URL

http://maps.googleapis.com/maps/api/distancematrix/json?origins=H3W3C4&destinations=H1C0A6&mode=driving&language=en-EN&sensor=false

实施例1:

URLhttp://maps.googleapis.com/maps/api/distancematrix/json?origins=H3W3C4&destinations=H1A0C2&mode=driving&language=en-EN&sensor=false 邮政码:H1A0C2, API结果:NOTFOUND

实施例2:

URLhttp://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

虽然有或没有大多数postalcodes空间的作品,对于少数不无空格返回值。可能是什么原因?

+0

https://issuetracker.google.com/issues/62893426 –

回答

1

我会建议检查邮政编码是否存在于Google数据库中。

例如邮政编码H1A0C2似乎缺少

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

正如你所看到的,地理编码工具只返回邮政编码前缀HA1,但不是邮政代码本身。

对于邮政编码H1C0A9地理编码器返回一个完整的邮政编码:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D%26in_country%3DCA%26in_postal_code%3DH1C0A9

我觉得距离矩阵找不到丢失的邮政编码距离。但是,如果添加空白空间,则可以找到邮政编码前缀,并根据邮政编码前缀的坐标计算距离。所以在这种情况下结果可能不够精确。

您可以按照以下支持文档描述的失踪邮政编码到谷歌报告:

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

希望这有助于!

+0

是的,我在谷歌的issuetracker门户网站也做过同样的事情。他们说他们的数据库错过了这个邮政编码。 –

+0

https://issuetracker.google.com/issues/62893426 –