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

Phần này trình bày cách đặt đích đế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 xe.

Trước khi bắt đầu

Phần này yêu cầu bạn phải hoàn tất những việc sau:

Đặt đích đến trong ứng dụng trình điều khiển

Sau khi ghép nối người dùng với tài xế, bạn phải định cấu hình đích đế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 trung gian trong Công cụ quản lý đội xe. Bộ sưu tập này do GetTrip(), UpdateTrip()GetVehicle() trả về.

  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 trình điều khiển.

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