Skip to content

Waypoints Sort

Waypoints optimization

Set a sequence of waypoints, the first waypoint is the origin location. This optimization will return distance-optimized waypoints sequence. If the final destination could be changed during optimization, please call setDestinationShuffling(true).

Note: this feature only support onboard mode.

Sort waypoints except destination

auto request = tn:direction::createWaypointOptimizeRequestBuilder::Builder()
                   .setWayPoints({{37.397418,-121.977905},{37.407201,-121.977269},{37.399875,-121.989028},{37.414660,-122.003918}})
                   .setDestinationShuffling(true)
                   .build();

direction_service
    ->createWaypointOptimizationTask(request, tn::direction::CalculationMode::Onboard)
    ->runAsync([&](tn::foundation::ErrorCode c, tn::shared_ptr<tn::direction::WaypointOptimizeResponse> r) {
        response = r;
        error_code = c;
    });

the returned WaypointOptimizeResponse is a array of models::v2::GeoLocation.