این سند توضیح میدهد که چگونه میتوانید با استفاده از دو ویژگی، تنظیمات برگزیده نقطه بین برنامه خود را مدیریت کنید:
- ترجیحات مسیریابی کنار جاده
- توقف
سمت ترجیح مسیریابی جاده را تنظیم کنید
بهطور پیشفرض، 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+/- درجه) با سمت جادهای که ایستگاه بین راه در آن قرار دارد، همسو میشود.
تنظیم اولویت توقف
در مکانهای خاص، توقف ایمن برای کاربران امکانپذیر نیست (به عنوان مثال، مناطق مرتفع، کشتیها، مکانهای زیرزمینی و سایر مناطق با دسترسی محدود). ویژگی Stopover اگر موقعیت مکانی آن برای توقف کاربر مناسب نباشد، نقطه بین راه را به مکان نزدیک منتقل می کند. هنگامی که vehicleStopover
روی YES
تنظیم می کنید، در صورت وجود مکان جایگزین، هنگام محاسبه مسیر، نقطه بین به طور خودکار تغییر مکان می دهد.
چگونه کار می کند
هنگام ایجاد ایستگاه بین راهی برای آن توقف، اولویت را برای توقف تعیین می کنید. برای انجام این کار، اولویت را برای توقف در یک GMSNavigationMutableWaypoint
همانطور که در مثال زیر نشان داده شده است، تنظیم کنید:
سویفت
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: {...})
هدف-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){...}];