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

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

قبل البدء

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

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

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

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

  2. حدِّد الوجهة عن طريق طلب حزمة تطوير البرامج (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;
                             }];
}