تحديد وجهة المركبة

يوضّح هذا القسم كيفية ضبط وجهة المركبة بعد أن يطابق خادمك رحلة مع مركبة.

قبل البدء

يتطلّب هذا القسم منك إكمال ما يلي:

ضبط الوجهة في تطبيق السائق

بعد إقران مستهلك بسائق، عليك ضبط وجهة الرحلة في تطبيق السائق من خلال اتّباع الخطوات التالية:

  1. استرداد وجهة المركبة من مجموعة نقاط الطريق في Fleet Engine، والتي يتم عرضها من خلال GetTrip() وUpdateTrip() وGetVehicle()

  2. اضبط الوجهة من خلال استدعاء طريقة حزمة تطوير البرامج للتنقّل على أجهزة iOS setDestinations().

توضِّح الأمثلة التالية كيفية ضبط الوجهة في تطبيق السائق.

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