Javascript 通过邮政编码获取距离矩阵

Javascript 通过邮政编码获取距离矩阵,javascript,google-maps-api-3,google-distancematrix-api,Javascript,Google Maps Api 3,Google Distancematrix Api,我正在使用谷歌地图API的距离矩阵来获得比利时两个邮政编码之间的距离。我面临的问题是,整个施政报告都在评估这个国家。有没有办法迫使该国加入请求 例如: 在菲律宾而不是比利时提供目的地: { "destination_addresses" : [ "Belgium, Dasmariñas, Cavite, Philippines" ], "origin_addresses" : [ "1200, Belgique" ], ... } 如果我在请求中使用法国国家名称(比利

我正在使用谷歌地图API的距离矩阵来获得比利时两个邮政编码之间的距离。我面临的问题是,整个施政报告都在评估这个国家。有没有办法迫使该国加入请求

例如:

在菲律宾而不是比利时提供目的地:

{
    "destination_addresses" : [ "Belgium, Dasmariñas, Cavite, Philippines" ],
    "origin_addresses" : [ "1200, Belgique" ],
    ...
}
如果我在请求中使用法国国家名称(比利时),则会出现同样的问题:

在法国提供目的地:

{
    "destination_addresses" : [ "2566 Rue de Belgique, 66140 Canet-en-Roussillon, France" ],
    "origin_addresses" : [ "1200, Belgique" ],
    ...
}

在得到更多的信息后,我想我能想出一个答案

只去比利时吗?你不能让他们只选择有效的邮政编码吗?这将避免许多错误。。。但如果你不能,那么你可以尝试其他选择


现在回答:

您提到要计算两个位置之间的距离(使用distancematrix)。如果只需要计算两个位置之间的距离,则不需要使用距离矩阵。您可以使用标准方向API(或作为Google Maps Javascript API v3一部分的服务)。在任何情况下,使用方向和距离矩阵,您都必须在地图上显示服务返回的信息(这是他们的服务条款)

Directions API的优点是,您可以使用和
region
参数将请求偏向特定的地区(国家)

var start = "1200, Belgium";
var end = "2500, Belgium";
var method = 'DRIVING';
var request = {
    origin: start,
    destination: end,
    region: 'BE',
    travelMode: google.maps.DirectionsTravelMode[method]
};
文件如下:

在检索方向之前,您还可以使用其他服务,以确保原点和目标值正确

可能是一个(您也可以使用地区代码对您的请求进行偏差)

还有一个专门的Web服务。它采用可选(多个)国家/地区代码作为参数。它将返回坐标,然后您可以在方向请求中使用这些坐标

您可以使用标准方向服务查看下面的小提琴,以获得完整的示例。玩它,看看它是否适合你。尝试输入无效的邮政编码,或者甚至使用有效的邮政编码,但从起始或目的地字符串中删除“比利时”,您将看到发生了什么


希望这能有所帮助。

您有没有尝试过其他方法?我认为API不将邮政编码视为地址。哦,顺便说一句,在比利时,2566似乎是无效的邮政编码。你投了我的反对票。好吧,你说得对,似乎这个邮政编码不存在。但无论如何,我的问题仍然有效,不值得投反对票:有没有办法迫使这个国家?换句话说,如果目的地不存在,我希望得到答案,而不是在法国或菲律宾的某个地方。要对您之前的评论作出反应,API会考虑是的邮政编码。是的,它适用于其他一些邮政编码,但我不能全部测试它们。由于我的用户首先选择他们的国家,我想确保为他们提供一个正确的答案。