Tetapkan tujuan kendaraan

Bagian ini mendokumentasikan cara menetapkan tujuan kendaraan setelah server Anda mencocokkan perjalanan dengan kendaraan.

Sebelum memulai

Bagian ini mengharuskan Anda telah menyelesaikan hal berikut:

Menetapkan tujuan di aplikasi pengemudi

Setelah menyambungkan konsumen dengan pengemudi, Anda harus mengonfigurasi tujuan perjalanan di aplikasi pengemudi dengan melakukan langkah-langkah berikut:

  1. Ambil tujuan kendaraan dari kumpulan titik jalan di Fleet Engine, yang ditampilkan oleh GetTrip(), UpdateTrip(), dan GetVehicle().

  2. Tetapkan tujuan dengan memanggil metode Navigation SDK for iOS setDestinations().

Contoh berikut menunjukkan cara menetapkan tujuan di aplikasi pengemudi.

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;
                             }];
}