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

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

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

تعيين جانب تفضيل توجيه الطريق

بشكل افتراضي، تعثر حزمة 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;

تختار حزمة تطوير البرامج (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){...}];