Add optimization with multiple vehicles and a single start stop ¶
Add an optimization with multiple vehicles which start their routes from the same stop and display the solution on the map.


Use case ¶
Create an optimization where the vehicles start their routes from the same stop.
How to use the sample ¶
First, get an API key token, see the Getting Started guide.
Download the Maps & Navigation SDK for C++ archive file for Linux or WindowsWhen you run the sample, an optimization will be saved, the solution will be returned and showed on the map.
How it works ¶
-
Create a
vrp::StopList
and add the stops to it. -
Create a
vrp::VehicleConstraints
with the desired fields and add it to avrp::VehicleConstraintsList
. Thevrp::VehicleContraints
will be applied to all the vehicles. -
Create a
vrp::Optimization
and set the objects created at 1.) and 2.) to it. Also set the number of vehicles to be at least 2 and set the start stop index for each vehicle. -
Create a
ProgressListener
,vrp::Service
andvrp::RouteList
, in which the solution will be returned. -
Call the
addOptimization()
method fromvrp::Service
using the list from 4.), thevrp::Optimization
from 3.) and the progress listener. -
Once the operation completes, the list from 4.) will contain the solution of the optimization.
To display the stops and routes on the map ¶
-
Create a
MapServiceListener
,OpenGLContext
andMapView
. -
Create a
LandmarkList
,CoordinatesList
andPolygonGeographicArea
. -
Instruct the
MapView
to highlight theLandmarkList
from 2.) to print the stops. -
Instruct the
MapView
to center on thePolygonGeographicArea
. -
Create a
MarkerCollection
of typePolyline
for each route and add the routes shapes to them. -
Set the newly created
MarkerCollection
in the markers collections of the map view preferences. -
Allow the application to run until the map view is fully loaded.