Définir la destination du véhicule

Cette section explique comment définir la destination du véhicule une fois que votre serveur a mis en correspondance un trajet avec un véhicule.

Avant de commencer

Pour cette section, vous devez avoir effectué les opérations suivantes:

Définir la destination dans l'application conducteur

Une fois qu'un client a été associé à un chauffeur, vous devez configurer la destination du trajet dans l'application du chauffeur en procédant comme suit:

  1. Récupérez la destination du véhicule à partir de sa collection de points de cheminement dans Fleet Engine, qui est renvoyée par GetTrip(), UpdateTrip() et GetVehicle().

  2. Définissez la destination en appelant la méthode setDestinations() du SDK Navigation pour iOS.

Les exemples suivants montrent comment définir la destination dans l'application du conducteur.

Swift

private func startNavigation() {
  let destinations = [
    GMSNavigationWaypoint(
      placeID: "ChIJnUYTpNASkFQR_gSty5kyoUk", title: "PCC Natural Market"),
    GMSNavigationWaypoint(
      placeID: "ChIJJ326ROcSkFQRBfUzOL2DSbo", title: "Marina Park"),
  ]

  mapView.navigator?.setDestinations(destinations, callback: { routeStatus in
    guard routeStatus == .OK else {
      // Error starting navigation.
      return
    }
    mapView.locationSimulator?.simulateLocationsAlongExistingRoute()
    mapView.navigator?.isGuidanceActive = true
    mapView.navigator?.sendsBackgroundNotifications = true
    mapView.cameraMode = .following
  })
}

Objective-C

- (void)startNavigation {
  NSArray<GMSNavigationWaypoint *> *destinations =
  @[[[GMSNavigationWaypoint alloc] initWithPlaceID:@"ChIJnUYTpNASkFQR_gSty5kyoUk"
                                             title:@"PCC Natural Market"],
    [[GMSNavigationWaypoint alloc] initWithPlaceID:@"ChIJJ326ROcSkFQRBfUzOL2DSbo"
                                             title:@"Marina Park"]];

  [_mapView.navigator setDestinations:destinations
                             callback:^(GMSRouteStatus routeStatus) {
                               if (routeStatus != GMSRouteStatusOK) {
                                 // Error starting navigation.
                                 return;
                               }
                               [_mapView.locationSimulator simulateLocationsAlongExistingRoute];
                               _mapView.navigator.guidanceActive = YES;
                               _mapView.navigator.sendsBackgroundNotifications = YES;
                               _mapView.cameraMode = GMSNavigationCameraModeFollowing;
                             }];
}