Đặt điểm đến cho xe

Phần này trình bày cách đặt điểm đến của xe sau khi máy chủ của bạn so khớp một chuyến đi với một chiếc xe.

Trước khi bắt đầu

Để hoàn tất phần này, bạn phải hoàn thành những việc sau:

Đặt điểm đến trong ứng dụng dành cho tài xế

Sau khi ghép nối người tiêu dùng với tài xế, bạn phải định cấu hình điểm đến của chuyến đi trong ứng dụng dành cho tài xế bằng cách thực hiện các bước sau:

  1. Truy xuất điểm đến của xe từ bộ sưu tập điểm tham chiếu trong Fleet Engine, được trả về theo GetTrip(), UpdateTrip()GetVehicle().

  2. Đặt đích đến bằng cách gọi phương thức Navigation SDK cho iOS setDestinations().

Các ví dụ sau đây cho thấy cách thiết lập đích đến trong ứng dụng dành cho tài xế.

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