谷歌地图 api 返回用于距离计算的有效邮政鳕鱼的未找到结果



我们使用谷歌地图api来查找两个邮政编码之间的距离。我们可以通过使用谷歌地图 api 工作地图 API 示例来获取任何两个邮政编码之间的距离。当邮政编码在没有任何空格的情况下发送时,此 api 的一些邮政编码会返回 NotFound 错误,但对于相同的邮政编码,如果我们在 3 个字母后给出空间,它运行良好并正确返回距离。

接口网址

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 结果: 未找到

示例 2:

url: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

尽管对于大多数邮政编码,它都可以使用或不使用空格,但对于少数邮政编码,它不会返回没有空格的值。可能是什么原因?

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

例如,邮政编码似乎H1A0C2丢失

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

如您所见,地理编码器工具仅返回邮政编码前缀HA1,而不返回邮政编码本身。

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

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

我认为距离矩阵找不到缺少邮政编码的距离。但是,当您添加空白区域时,它可以找到邮政编码前缀并根据邮政编码前缀的坐标计算距离。因此,在这种情况下,结果可能不够精确。

您可以按照以下支持文档中的说明向 Google 报告缺少的邮政编码:

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

希望这有帮助!

相关内容

最新更新