يوضّح هذا المستند كيفية إدارة الإعدادات المفضّلة لنقاط الطريق في تطبيقك باستخدام ميزتَين:
- الإعدادات المفضّلة لمسار الطريق
- الإقامة المؤقتة
ضبط الإعدادات المفضّلة لمسار التوجيه على جانب الطريق
يبحث حزمة تطوير البرامج Navigation SDK لنظام التشغيل iOS تلقائيًا عن أسرع طريق إلى نقطة ملفتة، ولكنّ ذلك لا يضمن وصول المستخدم إلى الجانب المطلوب من الطريق، على سبيل المثال، الجانب الذي ينتظر فيه العميل سائق مشاركة الرحلة. تتيح لك ميزة الإعدادات المفضّلة لمسار التوجيه على جانب الطريق التأكّد من وصول المركبة إلى الجانب الصحيح من الطريق.
آلية العمل
يمكنك ضبط الإعداد المفضّل للوصول إلى جانب معيّن من الطريق عند إنشاء نقطة الطريق للمحطة. يمكنك تحديد الإعداد المفضّل بإحدى الطريقتين التاليتين:
تفضيل الجانب نفسه من الطريق
يمكنك تقديم الإحداثيات الجغرافية لنقطة المرور، ثم ضبط علامة
preferSameSideOfRoad
تشير إلى أنّك تفضّل الوصول إلى جانب الطريق نفسه الذي تقع عليه
نقطة المرور، مع تثبيتها على الرصيف الأقرب.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
عنوان الشريحة المفضّلة
يمكنك تقديم الإحداثيات الجغرافية لنقطة الطريق، ثم تقديم اتجاه وصول
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){...}];