从Google Maps Api获取具有多个航点的路线的最短距离

时间:2017-08-14 11:24:04

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

我需要通过几个航点A,B,C,D获得最短路线。所以我需要从A到B的最短路线,从B到C的最短路线,依此类推。 我理解的方式是API应该给我一些从A到B的备用路线,从B到C的一些备用路线......最后,我应该经历所有的路线并选择最短的路线。 / p>

但Google Direction API只给我一条路线作为回应。但是如果我问到从A到B的路线,它会返回3条备用路线,从B到C等相同。

我的代码:

directionsService.route({
        origin: 'A',
        destination: 'D',
        waypoints: [
           {
              location: 'B',
              stopover: true
           },
        {
              location: 'C',
              stopover: true
           }],
        travelMode: 'DRIVING'
        , provideRouteAlternatives: true
     }, callback);

我得到的回应就是这个 click to see image

我也尝试过使用stopover:false并获得相同的结果。我不能使用travelMode:'WALKING'因为距离会有很大不同。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果你有航点,你就无法获得路线选择。

一个选项是(如果您不知道点顺序的方式),请求optimizeWaypoints: true的路线(以获得航点顺序),然​​后请求每组航点之间的路线provideRouteAlternatives: true获取选项,然后将它们拼接在一起。您将不得不处理UI以选择替代路线。