Set the vehicle's destination

This section documents how to set the vehicle's destination after your server matches a trip to a vehicle.

Before you begin

This section requires you to have completed the following:

Set the destination in the driver app

After you have paired a consumer with a driver, you must configure the trip's destination in the driver app by performing the following steps:

  1. Retrieve the vehicle's destination from its waypoints collection in Fleet Engine, which is returned by GetTrip() , UpdateTrip() and GetVehicle() .

  2. Set the destination by calling the Navigation SDK for Android method setDestination() .

The following examples show how to set the destination in the driver app.

Java

  private 
  
 void 
  
 navigateToLocation 
 ( 
 LatLng 
  
 locationLatLng 
 , 
  
 RoutingOptions 
  
 routingOptions 
 ) 
  
 { 
  
 Waypoint 
  
 destination 
  
 = 
  
 Waypoint 
 . 
 newBuilder 
 (). 
 setLocation 
 ( 
 locationLatLng 
 ). 
 build 
 (); 
  
 // Create a future to await the result of the asynchronous navigator task. 
  
 ListenableResultFuture<Navigator 
 . 
 RouteStatus 
>  
 pendingRoute 
  
 = 
  
 mNavigator 
 . 
 setDestination 
 ( 
 destination 
 , 
  
 travelMode 
 ); 
  
 // Define the action to perform when the SDK has determined the route. 
  
 pendingRoute 
 . 
 setOnResultListener 
 ( 
  
 new 
  
 ListenableResultFuture 
 . 
 OnResultListener<Navigator 
 . 
 RouteStatus 
> () 
  
 { 
  
 @Override 
  
 public 
  
 void 
  
 onResult 
 ( 
 Navigator 
 . 
 RouteStatus 
  
 code 
 ) 
  
 { 
  
 switch 
  
 ( 
 code 
 ) 
  
 { 
  
 case 
  
 OK 
 : 
  
 // Hide the toolbar to maximize the navigation UI. 
  
 if 
  
 ( 
 getActionBar 
 () 
  
 != 
  
 null 
 ) 
  
 { 
  
 getActionBar 
 (). 
 hide 
 (); 
  
 } 
  
 // Enable voice audio guidance (through the device speaker). 
  
 mNavigator 
 . 
 setAudioGuidance 
 ( 
  
 Navigator 
 . 
 AudioGuidance 
 . 
 VOICE_ALERTS_AND_GUIDANCE 
 ); 
  
 // Simulate vehicle progress along the route for demo/debug builds. 
  
 if 
  
 ( 
 BuildConfig 
 . 
 DEBUG 
 ) 
  
 { 
  
 mNavigator 
 . 
 getSimulator 
 (). 
 simulateLocationsAlongExistingRoute 
 ( 
  
 new 
  
 SimulationOptions 
 (). 
 speedMultiplier 
 ( 
 5 
 )); 
  
 } 
  
 // Start turn-by-turn guidance along the current route. 
  
 mNavigator 
 . 
 startGuidance 
 (); 
  
 break 
 ; 
  
 // Handle error conditions returned by the navigator. 
  
 case 
  
 NO_ROUTE_FOUND 
 : 
  
 displayMessage 
 ( 
 "Error starting navigation: No route found." 
 ); 
  
 break 
 ; 
  
 case 
  
 NETWORK_ERROR 
 : 
  
 displayMessage 
 ( 
 "Error starting navigation: Network error." 
 ); 
  
 break 
 ; 
  
 case 
  
 ROUTE_CANCELED 
 : 
  
 displayMessage 
 ( 
 "Error starting navigation: Route canceled." 
 ); 
  
 break 
 ; 
  
 default 
 : 
  
 displayMessage 
 ( 
 "Error starting navigation: " 
  
 + 
  
 String 
 . 
 valueOf 
 ( 
 code 
 )); 
  
 } 
  
 } 
  
 }); 
 } 
 

Kotlin

  private 
  
 fun 
  
 navigateToLocation 
 ( 
 locationLatLng 
 : 
  
 LatLng 
 , 
  
 travelMode 
 : 
  
 RoutingOptions 
 ) 
  
 { 
  
 val 
  
 destination 
  
 = 
  
 Waypoint 
 . 
 newBuilder 
 (). 
 setLocation 
 ( 
 locationLatLng 
 ). 
 build 
 () 
  
 // Create a future to await the result of the asynchronous navigator task. 
  
 val 
  
 pendingRoute 
  
 = 
  
 mNavigator 
 . 
 setDestination 
 ( 
 destination 
 , 
  
 travelMode 
 ) 
  
 // Define the action to perform when the SDK has determined the route. 
  
 pendingRoute 
 . 
 setOnResultListener 
 ( 
  
 object 
  
 : 
  
 ListenableResultFuture 
 . 
 OnResultListener<Navigator 
 . 
 RouteStatus 
> () 
  
 { 
  
 override 
  
 fun 
  
 onResult 
 ( 
 code 
 : 
  
 Navigator 
 . 
 RouteStatus 
 ) 
  
 { 
  
 when 
  
 ( 
 code 
 ) 
  
 { 
  
 Navigator 
 . 
 RouteStatus 
 . 
 OK 
  
 - 
>  
 { 
  
 // Hide the toolbar to maximize the navigation UI. 
  
 getActionBar 
 () 
 ?. 
 hide 
 () 
  
 // Enable voice audio guidance (through the device speaker). 
  
 mNavigator 
 . 
 setAudioGuidance 
 ( 
 Navigator 
 . 
 AudioGuidance 
 . 
 VOICE_ALERTS_AND_GUIDANCE 
 ) 
  
 // Simulate vehicle progress along the route for demo/debug builds. 
  
 if 
  
 ( 
 BuildConfig 
 . 
 DEBUG 
 ) 
  
 { 
  
 mNavigator 
  
 . 
 getSimulator 
 () 
  
 . 
 simulateLocationsAlongExistingRoute 
 ( 
 SimulationOptions 
 (). 
 speedMultiplier 
 ( 
 5 
 )) 
  
 } 
  
 // Start turn-by-turn guidance along the current route. 
  
 mNavigator 
 . 
 startGuidance 
 () 
  
 } 
  
 Navigator 
 . 
 RouteStatus 
 . 
 NO_ROUTE_FOUND 
  
 - 
>  
 { 
  
 displayMessage 
 ( 
 "Error starting navigation: No route found." 
 ) 
  
 } 
  
 Navigator 
 . 
 RouteStatus 
 . 
 NETWORK_ERROR 
  
 - 
>  
 { 
  
 displayMessage 
 ( 
 "Error starting navigation: Network error." 
 ) 
  
 } 
  
 Navigator 
 . 
 RouteStatus 
 . 
 ROUTE_CANCELED 
  
 - 
>  
 { 
  
 displayMessage 
 ( 
 "Error starting navigation: Route canceled." 
 ) 
  
 } 
  
 else 
  
 - 
>  
 { 
  
 displayMessage 
 ( 
 "Error starting navigation: 
 ${ 
 code 
 . 
 name 
 } 
 " 
 ) 
  
 } 
  
 } 
  
 } 
  
 } 
  
 ) 
 } 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: