مدیریت ایستگاه‌های بین راهی

این سند توضیح می‌دهد که چگونه می‌توانید اولویت‌های نقطه‌مسیر را برای برنامه‌تان بااستفاده از دو ویژگی مدیریت کنید:

  • اولویت‌های مسیریابی کنار جاده
  • توقف بین راه

تنظیم اولویت مسیریابی در کنار جاده

به‌طور پیش‌فرض، Navigation SDK for 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;

«کیت توسعه نرم‌افزار ناوبری» قطعه جاده‌ای را که به ایستگاه بین راه نزدیک‌تر است انتخاب می‌کند—قطعه جاده‌ای که جهت خط آن (با اختلاف حداکثر ۵۵ درجه) با سمت جاده‌ای که ایستگاه بین راه در آن قرار دارد هم‌راستا باشد.

تنظیم اولویت توقف

در برخی مکان‌ها، کاربران نمی‌توانند به‌طور ایمن توقف کنند (برای مثال، مناطق مرتفع، کشتی‌های مسافربری، مکان‌های زیرزمینی، و سایر مناطق با دسترسی محدود). ویژگی توقف نقطه بین راه را به مکان نزدیکی منتقل می‌کند اگر مکان آن برای توقف کاربر مناسب نباشد. وقتی 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: {...})

آبجکتیو-سی

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){...}];