إدارة نقاط الطريق

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

  • الإعدادات المفضّلة لتحديد المسار على جانب الطريق
  • التوقّف المؤقت

ضبط الإعدادات المفضّلة لتحديد المسار على جانب الطريق

تجد حزمة Navigation SDK لنظام التشغيل iOS بشكلٍ تلقائي أسرع مسار إلى نقطة الطريق، ولكنّ هذا لا يضمن وصول المستخدم إلى الجانب المطلوب من الطريق، مثلاً، الجانب الذي ينتظره فيه عميل سائق خدمة مشاركة الرحلات. تسمح لك ميزة الإعدادات المفضّلة لتحديد المسار على جانب الطريق بضمان وصول المركبة إلى الجانب الصحيح من الطريق.

آلية العمل

يمكنك ضبط الإعدادات المفضّلة للوصول إلى جانب معيّن من الطريق عند إنشاء نقطة الطريق لهذا التوقّف. ويمكنك تحديد الإعدادات المفضّلة بإحدى طريقتَين.

تفضيل الجانب نفسه من الطريق

يمكنك تقديم الإحداثيات الجغرافية لنقطة الطريق، ثم ضبط علامة preferSameSideOfRoad التي تشير إلى أنّك تفضّل الوصول إلى الجانب نفسه من الطريق الذي تقع فيه نقطة الطريق، مع الانطباق على الرصيف الأقرب.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                   preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;

ضبط اتجاه الوصول

يمكنك تقديم الإحداثيات الجغرافية لنقطة الطريق، ثم تقديم اتجاه الوصول arrival heading preferredSegmentHeading الذي يتطابق مع اتجاه حركة المرور على الجانب نفسه من الطريق الذي تقع فيه الوجهة.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                preferredSegmentHeading:(int32_t)preferredSegmentHeading;

تختار حزمة Navigation SDK جزء الطريق الأقرب إلى نقطة الطريق، والذي يكون اتجاه المسار فيه متوافقًا (في حدود +/- 55 درجة) مع جانب الطريق الذي تقع فيه نقطة الطريق.

ضبط الإعدادات المفضّلة للتوقّف المؤقت

في أماكن معيّنة، لا يمكن للمستخدمين التوقّف بأمان (مثلاً، المناطق المرتفعة والعبّارات والمواقع الجغرافية تحت الأرض والمناطق الأخرى التي لا يمكن الوصول إليها إلا بشكل محدود). تنقل ميزة التوقّف المؤقت نقطة على المسار إلى مكان قريب إذا كان موقعها الجغرافي غير مناسب لتوقّف المستخدم. عند ضبط vehicleStopover على YES، تتم إعادة نقل نقطة على المسار تلقائيًا عند احتساب المسار، إذا كان هناك موقع جغرافي بديل.

آلية العمل

يمكنك ضبط الإعدادات المفضّلة للتوقّف المؤقت عند إنشاء نقطة الطريق لهذا التوقّف. لإجراء ذلك، اضبط الإعدادات المفضّلة للتوقّف المؤقت على GMSNavigationMutableWaypoint كما هو موضّح في المثال التالي:

Swift

let location = CLLocationCoordinate2D(latitude: 47.67, longitude: -122.20)
let waypoint = GMSNavigationMutableWaypoint(location: location, title: "waypoint from location")!
waypoint.vehicleStopover = true
mapView.navigator?.setDestinations([waypoint], routingOptions: routingOptions, callback: {...})

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationMutableWaypoint *waypoint =
    [[GMSNavigationMutableWaypoint alloc] initWithLocation:location
                                                     title:@"waypoint from location"];
waypoint.vehicleStopover = YES;
[_mapView.navigator setDestinations:@[waypoint1]
                     routingOptions:routingOptions
                           callback:^(GMSRouteStatus routeStatus){...}];