计算具有不同起点和终点位置的最佳路线

时间:2014-10-03 17:18:45

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

在我的应用中,用户可以选择他们想要访问的城市中的多个目的地。

目前,我正在使用它来确定LocationA和LocationD之间的最佳路线,同时确保转到LocationB和LocationC https://developers.google.com/maps/documentation/javascript/examples/directions-waypoints

的最佳路线

目前,LocationA固定为原点,而LocationD固定在目的地的serviceService.route部分

我想检查是否有比从LocationA到LocationD更好的路线。也许LocationD到LocationC可以更快地吸收LocationA和LocationB。

有没有办法在不修复旅程的开始和结束的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,似乎没有谷歌解决方案。(不确定)。

但是有一种方法可以解决:创建一个接收位置列表的函数,将它们设置为原点和目的地,其余作为路点,然后获取所有距离并计算得更好。类似的东西:

Route getBetterRoute(Location[] list)

    Route betterRoute;

    for( int x = 0; x < list.size; x++)
        for( int y = 0; y < list.size; y++)
            Location origin = list[x];
            Location destination = list[y];
            Location[] waypoints = list[] - origin - destination;
            Route routeXY = RequestOptmizedRoute(origin, destination, waypoints);

            if( betterRoute ==  null ) 
                betterRoute = routeXy;
            if( routeXY.distance() < betterRoute.distance() ) 
                betterRoute = routeXY;

return betterRoute

如果您在移动设备上执行此操作,最好创建后端功能。