Définir la destination du véhicule

Cette section explique comment définir la destination du véhicule après l'utilisation de votre serveur correspond à un trajet vers 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

Après avoir associé un client à un chauffeur, vous devez configurer les paramètres du trajet dans l'application du pilote 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;
                             }];
}