diff --git a/include/engine/api/route_api.hpp b/include/engine/api/route_api.hpp index a24277901..d5736cbfe 100644 --- a/include/engine/api/route_api.hpp +++ b/include/engine/api/route_api.hpp @@ -44,8 +44,11 @@ class RouteAPI : public BaseAPI { } - void MakeResponse(const InternalManyRoutesResult &raw_routes, - util::json::Object &response) const + void + MakeResponse(const InternalManyRoutesResult &raw_routes, + const std::vector + &all_start_end_points, // all used coordinates, ignoring waypoints= parameter + util::json::Object &response) const { BOOST_ASSERT(!raw_routes.routes.empty()); @@ -62,8 +65,7 @@ class RouteAPI : public BaseAPI route.target_traversed_in_reverse)); } - response.values["waypoints"] = - BaseAPI::MakeWaypoints(raw_routes.routes[0].segment_end_coordinates); + response.values["waypoints"] = BaseAPI::MakeWaypoints(all_start_end_points); response.values["routes"] = std::move(jsRoutes); response.values["code"] = "Ok"; } diff --git a/src/engine/plugins/viaroute.cpp b/src/engine/plugins/viaroute.cpp index 02407fe71..9d16a56c6 100644 --- a/src/engine/plugins/viaroute.cpp +++ b/src/engine/plugins/viaroute.cpp @@ -177,7 +177,7 @@ Status ViaRoutePlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithm } } - route_api.MakeResponse(routes, json_result); + route_api.MakeResponse(routes, start_end_nodes, json_result); } else {