بااستفاده از Navigation SDK برای iOS، میتوانید تجربه کاربری را با تعیین اینکه کدامیک از کنترلها و عناصر میانای کاربر داخلی در نقشه نشان داده شوند و کدام اشارهها را مجاز میکنید، در نقشهتان اصلاح کنید. همچنین میتوانید ظاهر بصری «میانای کاربر ناوبری» را تغییر دهید. برای اطلاع از دستورالعملهای مربوط به اصلاحات قابلقبول در «میانای کاربری ناوبری»، به صفحه خطمشیها مراجعه کنید.
کنترلهای میانای کاربر نقشه
Navigation SDK برخیاز کنترلهای میانای کاربر داخلی را ارائه میدهد
که مشابه کنترلهای موجود در برنامه Google Maps برای iOS است. میتوانید
بااستفاده از کلاس GMSUISettings،
رؤیتپذیری این کنترلها را تغییر دهید. تغییراتی که در این کلاس ایجاد میکنید بلافاصله در نقشه منعکس میشود.
قطبنما
Navigation SDK یک گرافیک قطبنما ارائه میدهد که در شرایط خاص و فقط درصورت فعال بودن در گوشه بالا سمت راست نقشه ظاهر میشود. وقتی کاربر روی قطبنما تکضرب میزند، دوربین با پویانمایی به موقعیتی با زاویه صفر (جهت پیشفرض) برمیگردد و قطبنما کمی بعد محو میشود.
اگر پیمایش فعال باشد و حالت دوربین روی «دنبال کردن» تنظیم شده باشد، قطبنما قابلمشاهده میماند و با تکضرب زدن روی قطبنما بین چشماندازهای دوربین کج و نمای کلی جابهجا میشوید.
برای جلوگیری از حواسپرتی راننده، اگر سرصفحه (در حالت عمودی) گسترش یابد و با موقعیت پیشفرض قطبنما تداخل داشته باشد، قطبنما در همان موقعیت باقی میماند. اگر کنترل سفارشی سرصفحه ثانویه یا نمای لوازم جانبی سرصفحه اضافه کنید، قطبنما پنهان میشود تا از تداخل واسط کاربر جلوگیری شود.
قطبنما از حالتهای روز و شب و همچنین حالت تاریک پشتیبانی میکند.
قطبنما بهطور پیشفرض در نسخه ۱۱.۰.۰ و بالاتر فعال است. میتوانید قطبنما را با تنظیم کردن ویژگی
compassButton
GMSUISettings روی false غیرفعال کنید.
Swift
mapView.settings.compassButton = false
آبجکتیو-سی
mapView.settings.compassButton = NO;
دکمه «مکان من»
دکمه «مکان من» در گوشه پایین سمت چپ صفحه فقط
زمانی ظاهر میشود که دکمه «مکان من» فعال باشد. وقتی کاربر روی دکمه کلیک میکند،
دوربین متحرک میشود تا روی مکان فعلی کاربر تمرکز کند، اگر مکان کاربر
مشخص باشد. میتوانید با تنظیم کردن
myLocationButton
خصوصیت GMSUISettings روی true، دکمه را فعال کنید.
Swift
mapView.settings.myLocationButton = true
آبجکتیو-سی
mapView.settings.myLocationButton = YES;
دکمه بازمرکزیابی
وقتی پیمایش فعال باشد، دکمه بازمرکز کردن زمانی ظاهر میشود که کاربر نمای نقشه را پیمایش کند، و زمانی ناپدید میشود که کاربر برای بازمرکز کردن نقشه تکضرب بزند. برای اینکه
دکمه «مرکز کردن مجدد» نشان داده شود، ویژگی recenterButtonEnabled
GMSUISettings را روی true تنظیم کنید. برای جلوگیری از نمایش دکمه بازمرکز کردن،
recenterButtonEnabled را روی false تنظیم کنید.
Swift
mapView.settings.isRecenterButtonEnabled = true
آبجکتیو-سی
mapView.settings.recenterButtonEnabled = YES;
لوازم جانبی میانای کاربر نقشه
کیت توسعه نرمافزار ناوبری لوازم جانبی واسط کاربری را ارائه میدهد که درطول ناوبری ظاهر میشوند، مشابه آنچه در برنامه Google Maps برای iOS یافت میشود. میتوانید رؤیتپذیری یا ظاهر بصری این کنترلها را همانطور که در این بخش شرح داده شده است تنظیم کنید. تغییراتی که اینجا ایجاد میکنید در سفر بعدی کاربر اعمال میشود.
سرصفحه و پانویس پیمایش

درطول پیمایش، سرصفحه پیمایش در بالای صفحه و پاصفحه پیمایش در پایین صفحه نشان داده میشود. سرصفحه پیمایش نام خیابان و جهت پیچ بعدی در مسیر، و همچنین جهت پیچ بعدی را نشان میدهد. پانویس ناوبری زمان و فاصله تخمینی تا مقصد و همچنین زمان تخمینی رسیدن را نشان میدهد.
میتوانید رؤیتپذیری سرصفحه و پانویس پیمایش را تغییر دهید و رنگهای آن را بهصورت برنامهنویسیشده بااستفاده از ویژگیهای زیر تنظیم کنید:
navigationHeaderEnabled— کنترل میکند که سرصفحه پیمایش نمایان باشد یا نه (پیشفرضtrueاست).navigationFooterEnabled— کنترل میکند که پانویس پیمایش نمایان باشد یا نه (پیشفرضtrueاست).navigationHeaderPrimaryBackgroundColor— رنگ پسزمینه اصلی را برای سرصفحه پیمایش تنظیم میکند.navigationHeaderSecondaryBackgroundColor— رنگ پسزمینه ثانویه را برای سرصفحه پیمایش تنظیم میکند.
نمونه کد زیر نحوه روشن کردن نمایان بودن سرصفحه و
پاصفحه، سپس تنظیم navigationHeaderPrimaryBackgroundColor روی آبی، و
navigationHeaderSecondaryBackgroundColor روی قرمز را نشان میدهد.
Swift
mapView.settings.isNavigationHeaderEnabled = true
mapView.settings.isNavigationFooterEnabled = true
mapView.settings.navigationHeaderPrimaryBackgroundColor = .blue
mapView.settings.navigationHeaderSecondaryBackgroundColor = .red
آبجکتیو-سی
mapView.settings.navigationHeaderEnabled = YES;
mapView.settings.navigationFooterEnabled = YES;
mapView.settings.navigationHeaderPrimaryBackgroundColor = [UIColor blueColor];
mapView.settings.navigationHeaderSecondaryBackgroundColor = [UIColor redColor];
نمای سرصفحه لوازم جانبی ناوبری
میتوانید با جایگزین کردن نمای سرصفحه پیمایش ثانویه با نمای لوازم جانبی سفارشیشده خودتان،
برنامهتان را سفارشیسازی کنید. این کار را با ایجاد نمایی انجام میدهید که
پروتکل GMSNavigationAccessoryView را پیادهسازی میکند. این پروتکل یک روش الزامی دارد: -heightForAccessoryViewConstrainedToSize:onMapView:. حداکثر اندازه دردسترس برای نمای شما در mapView دادهشده به شما ارائه میشود و باید ارتفاعی را که نمای شما نیاز دارد ارائه دهید.
سپس میتوانید با فراخوانی setHeaderAccessoryView: این نما را به mapView منتقل کنید.
mapView هر نمای فعلی را پویانمایی میکند و سپس نمای سفارشی شما را پویانمایی میکند. سرصفحه پیمایش باید نمایان باشد تا نمای سفارشی شما بتواند
نمایش داده شود.
برای برداشتن نمای لوازم جانبی سرصفحه سفارشی، nil را به
setHeaderAccessoryView: منتقل کنید.
اگر اندازه نمای شما باید در هر زمانی تغییر کند، میتوانید
invalidateLayoutForAccessoryView: را فراخوانی کنید و نمایی را که باید تغییر کند
ارسال کنید.
مثال
نمونه کد زیر نمای سفارشیای را نشان میدهد که پروتکل GMSNavigationAccessoryView را پیادهسازی میکند. سپس از این نمای سفارشی برای تنظیم
نمای لوازم جانبی سرصفحه پیمایش سفارشی استفاده میشود.
Swift
class MyCustomView: UIView, GMSNavigationAccessoryView {
…
func heightForAccessoryViewConstrained(to size: CGSize, on mapView: GMSMapView) -> CGFloat {
// viewHeight gets calculated as the height your view needs.
return viewHeight
}
…
}
let customView = MyCustomView(...)
mapView.setHeaderAccessory(customView)
// At some later point customView changes size.
mapView.invalidateLayout(forAccessoryView: customView)
// Remove the custom header accessory view.
mapView.setHeaderAccessory(nil)
آبجکتیو-سی
@interface MyCustomView : UIView <GMSNavigationAccessoryView>
…
@end
@implementation MyCustomView
…
- (CGFloat)heightForAccessoryViewConstrainedToSize:(CGSize)size onMapView:(GMSMapView *)mapView {
// viewHeight gets calculated as the height your view needs.
return viewHeight;
}
…
@end
MyCustomView *customView = [[MyCustomView alloc] init…];
[_mapView setHeaderAccessoryView:customView];
// At some later point customView changes size.
[_mapView invalidateLayoutForAccessoryView:customView];
// Remove the custom header accessory view.
[_mapView setHeaderAccessoryView:nil];
رنگهای سرصفحه حالت کمنور
«کیت توسعه نرمافزار ناوبری» برای iOS حالت روشنایی پیشنهادی را براساس زمان روز و مکان فعلی دستگاه محاسبه میکند و وقتی حالت پیشنهادی تغییر میکند (مثلاً هنگام طلوع یا غروب آفتاب)، روش شنونده
GMSNavigatorListener.didChangeSuggestedLightingMode
را فراخوانی میکند.
میتوانید رفتار حالت نور کم را بهصورت برنامهنویسیشده به روشهای زیر تغییر دهید:
- با تنظیم کردن
GMSMapView.lightingModeروی مقدارGMSNavigationLightingMode، کنترل کنید که نقشه چه زمانی از حالتهای معمولی و کمنور استفاده کند. برای اطلاعات بیشتر درباره فعال کردن تعویض خودکار حالت نورپردازی، به پیکربندی حالتهای عادی و نور کم مراجعه کنید. - رنگهای پسزمینه اصلی و فرعی سرصفحه پیمایش را در حالت کمنور با تنظیم ویژگیهای
navigationHeaderPrimaryBackgroundColorNightModeوnavigationHeaderSecondaryBackgroundColorNightModeدرGMSUISettingsسفارشیسازی کنید.
فهرست مسیرها
میتوانید در برنامهتان مسیر گامبهگام ارائه دهید. مثال زیر یک روش ممکن برای انجام این کار را نشان میدهد. این مراحل ممکن است بسته به پیادهسازی شما متفاوت باشد.
- دکمه نقطه ورودی را پساز اینکه
setDestinationsدرGMSNavigator(ناوبر) با موفقیت تکمیل شد وguidanceActiveدر ناوبر فعال شد، فعال کنید. - وقتی کاربر روی دکمه نقطه ورودی تکضرب میزند،
GMSNavigationDirectionsListController(کنترلکننده) را با راهبری مرتبط باGMSMapView(mapView) ایجاد کنید. - کنترلکننده را به نمونهای از
UIViewController(کنترلکننده نما) اضافه کنید، وdirectionsListViewرا بهعنوان زیرنمای کنترلکننده نما اضافه کنید. روشهایreloadDataوinvalidateLayoutدر کنترلکننده باید بهصورتUICollectionViewفراخوانی شوند. - کنترلکننده نما را به سلسلهمراتب کنترلکننده نمای برنامه اضافه کنید.
نمونه کد زیر نحوه افزودن DirectionsListViewController را نشان میدهد.
Swift
override func viewDidLoad() {
super.viewDidLoad()
// Add the directionsListView to the host view controller's view.
let directionsListView = directionsListController.directionsListView
directionsListView.frame = self.view.frame
self.view.addSubview(directionsListView)
directionsListView.translatesAutoresizingMaskIntoConstraints = false
directionsListView.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
directionsListView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor).isActive = true
directionsListView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor).isActive = true
directionsListView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
...
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Make sure data is fresh when the view appears.
directionsListController.reloadData()
...
}
override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) {
super.willTransition(to: newCollection, with: coordinator)
// Invalidate the layout during rotation.
coordinator.animate(alongsideTransition: {_ in
self.directionsListController.invalidateLayout()
})
...
}
آبجکتیو-سی
- (void)viewDidLoad {
[super viewDidLoad];
// Add the directionsListView to the host view controller's view.
UIView *directionsListView = _directionsListController.directionsListView;
directionsListView.frame = self.view.bounds;
[self.view addSubview:directionsListView];
directionsListView.translatesAutoresizingMaskIntoConstraints = NO;
[directionsListView.topAnchor constraintEqualToAnchor:self.view.topAnchor].active = YES;
[directionsListView.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].active = YES;
[directionsListView.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].active = YES;
[directionsListView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor].active = YES;
...
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// Make sure data is fresh when the view appears.
[_directionsListController reloadData];
...
}
- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator];
void(^animationBlock)(id <UIViewControllerTransitionCoordinatorContext>context) =
^void(id <UIViewControllerTransitionCoordinatorContext>context) {
[_directionsListController invalidateLayout];
};
// Invalidate the layout during rotation.
[coordinator animateAlongsideTransition:animationBlock
completion:nil];
...
}
...
نوار پیشرفت سفر

نوار پیشرفت سفر نوار عمودیای است که هنگام شروع ناوبری در سمت شروع/پیشرو نقشه ظاهر میشود. وقتی فعال باشد، نمای کلی کل سفر را بههمراه مقصد و موقعیت فعلی کاربر نمایش میدهد.
این ویژگی به کاربران امکان میدهد مشکلات پیشرو، مانند ترافیک، را بدون نیاز به بزرگنمایی پیشبینی کنند. سپس درصورت لزوم میتوانند مسیر سفر را تغییر دهند. اگر کاربر مسیر سفر را تغییر دهد، نوار پیشرفت بازنشانی میشود، گویی سفر جدیدی از آن نقطه شروع شده است.
نوار پیشرفت سفر نشانگرهای وضعیت زیر را نمایش میدهد:
وضعیت ترافیک—وضعیت ترافیک پیشرو.
مکان کنونی—مکان کنونی راننده در سفر.
مسیر سپریشده—بخش سپریشده سفر.
با تنظیم کردن ویژگی navigationTripProgressBarEnabled در GMSUISettings، نوار پیشرفت سفر را فعال کنید.
Swift
mapView.settings.isNavigationTripProgressBarEnabled = true
آبجکتیو-سی
mapView.settings.navigationTripProgressBarEnabled = YES;
جای نوار پیشرفت سفر
- سمت چپ نوار تقریباً با سمت چپ سرعتسنج، نشانواره Google، و دکمه «مرکز کردن مجدد» (وقتی نمایان باشد) تراز میشود. عرض ۱۲ نقطه است.
- نوار پیشرفت سفر بهطور پویا به فضای عمودی روی صفحهنمایش پاسخ میدهد. پایین نوار در فاصله ۲۱۰ نقطهای از پایین صفحهنمایش قرار دارد. بالای نوار پیشرفت سفر حداقل ۱۷۰ نقطه از بالای صفحهنمایش فاصله دارد و حداکثر ارتفاع نوار ۴۰۰ نقطه است.
- اگر نوار پیشرفت سفر با سرصفحه پیمایش یا دیگر عناصر میانای کاربر پیمایش همپوشانی داشته باشد، زیر آن عناصر دیگر نشان داده میشود.
Prompt Visibility API (آزمایشی)
Prompt Visibility API به شما امکان میدهد با افزودن شنوندهای برای دریافت فراخوانی برگشتی قبلاز اینکه عنصر میانای کاربر Navigation SDK ظاهر شود و بهمحض اینکه عنصر برداشته شد، از تداخل بین عناصر میانای کاربر تولیدشده توسط Navigation SDK و عناصر میانای کاربر سفارشی خودتان جلوگیری کنید. برای اطلاعات بیشتر، ازجمله نمونههای کد، به بخش Prompt Visibility API در صفحه پیکربندی اختلالات بیدرنگ مراجعه کنید.
کنترل سرعتسنج
وقتی پیمایش فعال باشد و حالت سفر روی رانندگی تنظیم شده باشد، Navigation SDK for iOS کنترل محدودیت سرعت را در گوشه پایین نقشه نمایش میدهد که محدودیت سرعت فعلی را نشان میدهد. وقتی راننده از حد مجاز سرعت فراتر میرود، کنترل ازهم باز میشود تا سرعتسنج دومی را با سرعت فعلی راننده نمایش دهد.
میتوانید سطوح هشدار را تنظیم کنید تا قالببندی نمایش سرعتسنج را تغییر دهید وقتی راننده از حد مجاز سرعت به مقدار مشخصی فراتر میرود. برای مثال، میتوانید مشخص کنید که وقتی راننده ۵ مایل در ساعت از حد مجاز سرعت فراتر میرود، سرعت فعلی با نوشتار قرمز نمایش داده شود و وقتی راننده ۱۰ مایل در ساعت از حد مجاز سرعت فراتر میرود، با رنگ پسزمینه قرمز نمایش داده شود.
برای نمایش کنترل محدودیت سرعت، ویژگی shouldDisplaySpeedometer
GMSUISettings را روی true تنظیم کنید. برای غیرفعال کردن نمایش کنترل محدودیت سرعت، shouldDisplaySpeedometer را روی false تنظیم کنید.
Swift
mapView.settings.shouldDisplaySpeedometer = true
آبجکتیو-سی
mapView.settings.shouldDisplaySpeedometer = YES;
برای اطلاعات بیشتر درباره تنظیم هشدار برای سرعتسنج، به پیکربندی هشدارهای سرعتسنج مراجعه کنید.
نشانگرهای مقصد
میتوانید نشانگرهای مقصد را برای مسیر مشخصی با تنظیم کردن ویژگی
showsDestinationMarkers
GMSUISettings نشان دهید یا پنهان کنید. مثال زیر نحوه خاموش کردن نشانگرهای مقصد را نشان میدهد.
Swift
mapView.settings.showsDestinationMarkers = false
آبجکتیو-سی
mapView.settings.showsDestinationMarkers = NO;
ویژگیهای تجربه نقشه
کیت توسعه نرمافزار ناوبری به شما امکان میدهد سفارشیسازیهای بیشتری را در تجربه ناوبری برای کاربران خود انجام دهید. تغییراتی که در نمونهتان ایجاد میکنید در بهروزرسانی بعدی برنامه شما توسط کاربر منعکس میشود.
برجستهسازی مقصد و ورودیها
وقتی مقصدی با placeID ایجاد میشود، ساختمان مقصد برجسته میشود و درصورت امکان، نماد ورودی نشان داده میشود. این نشانههای بصری به کاربران کمک میکند تا مقصد موردنظرشان را تشخیص دهند و به آن پیمایش کنند.
برای ایجاد مقصد با placeID، از یکی از مقداردهیهای اولیه GMSNavigationWaypoint که placeID را میپذیرد استفاده کنید. برای مثال، مقصدهای ایجادشده در آموزش پیمایش مسیر شامل برجستهسازی مقصد و برچسبهای ورودی (درصورت دردسترس بودن) است.
نمایش ساختمان سهبعدی درطول ناوبری
ساختمانهای سهبعدی بهطور پیشفرض درطول ناوبری نمایش داده میشوند. برای غیرفعال کردن این ویژگی، buildingsEnabled را روی false (Swift) یا NO (Objective-C) تنظیم کنید.
غیرفعال کردن اشارههای پیشفرض نقشه
میتوانید اشارههای پیشفرض را در نقشه با تنظیم کردن ویژگیهای کلاس GMSUISettings غیرفعال کنید، که بهعنوان ویژگی GMSMapView دردسترس است.
اشارههای زیر را میتوان بهصورت برنامهنویسیشده فعال و غیرفعال کرد. توجه داشته باشید که
غیرفعال کردن اشاره، دسترسی برنامهای به تنظیمات دوربین را محدود نمیکند.
scrollGestures— کنترل میکند که اشارههای پیمایش فعال یا غیرفعال باشند. اگر فعال باشد، کاربران میتوانند برای حرکت دادن دوربین تند بکشند.zoomGestures— کنترل میکند که اشارههای بزرگنمایی فعال یا غیرفعال باشند. اگر فعال باشد، کاربران میتوانند برای بزرگنمایی دوربین، دو بار تکضرب بزنند، با دو انگشت تکضرب بزنند، یا نیشگون لمسی انجام دهند. توجه داشته باشید که وقتیscrollGesturesفعال است، دوضربه زدن یا نیشگون گرفتن ممکن است دوربین را به نقطه مشخصشده حرکت دهد.tiltGestures— کنترل میکند که اشارههای کج کردن فعال یا غیرفعال باشند. اگر فعال باشد، کاربران میتوانند با تند کشیدن عمودی دو انگشت به بالا یا پایین، دوربین را کج کنند.rotateGestures— کنترل میکند که اشارههای چرخش فعال یا غیرفعال باشند. اگر فعال باشد، کاربران میتوانند از اشاره چرخش با دو انگشت برای چرخاندن دوربین استفاده کنند.
در این مثال، هر دو اشاره حرکت و بزرگنمایی غیرفعال شدهاند.
Swift
mapView.settings.scrollGestures = false
mapView.settings.zoomGestures = false
آبجکتیو-سی
mapView.settings.scrollGestures = NO;
mapView.settings.zoomGestures = NO;
کنترلهای موقعیت و عناصر میانای کاربر
میتوانید کنترلها و دیگر عناصر میانای کاربر را نسبت به موقعیت سرصفحه و پاصفحه پیمایش بااستفاده از ویژگیهای زیر قرار دهید:
navigationHeaderLayoutGuidenavigationFooterLayoutGuidebottomTrailingButtonsLayoutGuide
نمونه کد زیر استفاده از راهنماهای چیدمان را برای قرار دادن یک جفت برچسب در نمای نقشه نشان میدهد:
Swift
/* Add a label to the top left, positioned below the header. */
let topLabel = UILabel()
topLabel.text = "Top Left"
mapView.addSubview(topLabel)
topLabel.translatesAutoresizingMaskIntoConstraints = false
topLabel.topAnchor.constraint(equalTo: mapView.navigationHeaderLayoutGuide.bottomAnchor).isActive = true
topLabel.leadingAnchor.constraint(equalTo: mapView.leadingAnchor).isActive = true
/* Add a label to the bottom right, positioned above the footer. */
let bottomLabel = UILabel()
bottomLabel.text = "Bottom Right"
mapView.addSubview(bottomLabel)
bottomLabel.translatesAutoresizingMaskIntoConstraints = false
bottomLabel.bottomAnchor.constraint(equalTo: mapView.navigationFooterLayoutGuide.topAnchor).isActive = true
bottomLabel.trailingAnchor.constraint(equalTo: mapView.trailingAnchor).isActive = true
آبجکتیو-سی
/* Add a label to the top left, positioned below the header. */
UILabel *topLabel = [[UILabel alloc] init];
topLabel.text = @"Top Left";
[view addSubview:topLabel];
topLabel.translatesAutoresizingMaskIntoConstraints = NO;
[topLabel.topAnchor
constraintEqualToAnchor:mapView.navigationHeaderLayoutGuide.bottomAnchor].active = YES;
[topLabel.leadingAnchor constraintEqualToAnchor:mapView.leadingAnchor].active = YES;
/* Add a label to the bottom right, positioned above the footer. */
UILabel *bottomLabel = [[UILabel alloc] init];
bottomLabel.text = @"Bottom Right";
[view addSubview:bottomLabel];
bottomLabel.translatesAutoresizingMaskIntoConstraints = NO;
[bottomLabel.bottomAnchor
constraintEqualToAnchor:mapView.navigationFooterLayoutGuide.topAnchor].active = YES;
[bottomLabel.trailingAnchor constraintEqualToAnchor:mapView.trailingAnchor].active = YES;
برای نمونهای از نحوه استفاده از bottomTrailingButtonsLayoutGuide برای قرار دادن دکمه گزارش اختلالات همزمان، به پیکربندی اختلالات همزمان مراجعه کنید.
پنهان کردن مسیرهای جایگزین
وقتی میانای کاربر با اطلاعات بیشازحد شلوغ میشود، میتوانید با نمایش دادن مسیرهای جایگزین کمتر از مقدار پیشفرض (دو) یا با نمایش ندادن هیچ مسیر جایگزینی، شلوغی را کاهش دهید. میتوانید این گزینه را قبلاز واکشی مسیرها با پیکربندی GMSNavigationRoutingOptions و تنظیم alternateRoutesStrategy با یکی از مقادیر شمارشی زیر پیکربندی کنید:
| ارزش فهرست | شرح |
|---|---|
| GMSNavigationAlternateRoutesStrategyAll | پیشفرض. حداکثر دو مسیر جایگزین را نمایش میدهد. |
| GMSNavigationAlternateRoutesStrategyOne | یک مسیر جایگزین را نمایش میدهد (اگر موجود باشد). |
| GMSNavigationAlternateRoutesStrategyNone | مسیرهای جایگزین را پنهان میکند. |
مثال
نمونه کد زیر نشان میدهد که چگونه میتوان مسیرهای جایگزین را بهطور کامل پنهان کرد.
Swift
let routingOptions = GMSNavigationRoutingOptions(alternateRoutesStrategy: .none)
navigator?.setDestinations(destinations,
routingOptions: routingOptions) { routeStatus in
...
}
آبجکتیو-سی
GMSNavigationRoutingOptions *routingOptions = [[GMSNavigationRoutingOptions alloc] initWithAlternateRoutesStrategy:GMSNavigationAlternateRoutesStrategyNone];
[navigator setDestinations:destinations
routingOptions:routingOptions
callback:^(GMSRouteStatus routeStatus){...}];