Google Maps API可以计算多个地点或旅程中的路线吗?

时间:2017-11-10 14:11:36

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

我正在使用Google Maps API网络服务Directions APIDistance Matrix API来查找位置之间的行程距离和时间。

似乎API仅支持计算一个源和一个目的地之间的路由。 (对于Distance Matrix API,计算源和目的地之间的多个组合。)

我的情况是,我想知道沿着一系列(如有序数组)位置的多支路旅程的路线(实际上,只是旅行时间和距离)。

因此,考虑到ABCD这四个地点,我知道如何计算任何一对A-B之间的路线, A-CA-DB-C等等。我想计算A-B-C-DA-C-D-BA-D-B-C的路线,依此类推。我提供路线和腿的顺序,所以我不是要求解决旅行商问题。

这可以通过Google Maps Directions API或Distance Matrix API实现吗?

显然,我可以自己链接这些位置,因此请在单独的调用中询问各个路段的路线,然后按所需顺序将它们一起添加:A-C + C-D + {{1变成D-B。我希望通过一个电话可以实现。

(我已经找到了类似的问题,但没有找到这个问题。)

1 个答案:

答案 0 :(得分:3)

感谢@geocodezip,答案是添加'航路点'在原点和目的地之间,如documentation of the Directions API

中所述

例如,请求https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA通过查尔斯敦和列克星敦计算波士顿和康科德之间的路线。

根据

,旅行推销员问题也得到了部分解决
  

默认情况下,路线服务按给定顺序计算通过提供的路标的路线。或者,您可以将optimize:true作为waypoints参数中的第一个参数传递,以允许Directions服务通过以更有效的顺序重新排列路标来优化提供的路线。