Add optimization where the stops have all fields set¶
Add an optimization with stops that have all fields set and display the solution on the map.
Use case¶
- Create an optimization where for each stop can be set:
- the descriptive fields:
name
address
email
phone number
- the restrictive fields:
the type: pick up or delivery
the number of pieces, weight, and cube that have to be picked-up from it or delivered to it
the service time: how much time does the vehicle stay at this stop to do its job (ex: to unload the pieces)
the time window within which the stop must be visited
the revenue which has to be received from this 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 map.
How it works¶
Create a
vrp::Stop
for each stop that has to be visited, set its fields and then add it into avrp::StopList
.Create a
vrp::Optimization
and set the list created at 1.) to it.Create a
ProgressListener
,vrp::Service
andvrp::RouteList
, in which the solution will be returned.Call the
addOptimization()
method fromvrp::Service
using the list from 3.), thevrp::Optimization
from 2.) and the progress listener.Once the operation completes, the list from 3.) will contain the solution of the optimization.
To display the stops and route 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
and add the route’s shape to it.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.