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

يوثّق هذا القسم كيفية ضبط وجهة المركبة بعد الخادم. تتطابق مع رحلة إلى مركبة.

قبل البدء

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

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

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

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

  2. اضبط الوجهة من خلال استدعاء طريقة Navigation SDK لنظام التشغيل 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;
                             }];
}