在我的应用中,用户可以选择他们想要访问的城市中的多个目的地。
目前,我正在使用它来确定LocationA和LocationD之间的最佳路线,同时确保转到LocationB和LocationC https://developers.google.com/maps/documentation/javascript/examples/directions-waypoints
的最佳路线目前,LocationA固定为原点,而LocationD固定在目的地的serviceService.route部分
我想检查是否有比从LocationA到LocationD更好的路线。也许LocationD到LocationC可以更快地吸收LocationA和LocationB。
有没有办法在不修复旅程的开始和结束的情况下执行此操作?
答案 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
如果您在移动设备上执行此操作,最好创建后端功能。