بااستفاده از «کیت توسعه نرمافزار پیمایش برای iOS»، میتوانید تجربه کاربر را با نقشه خودتان تغییر دهید و تعیین کنید کدامیک از عناصر و کنترلهای میانای کاربر داخلی در نقشه نشان داده شود و کدامیک از اشارهها را مجاز میکنید. همچنین میتوانید ظاهر دیداری «میانای کاربر پیمایش» را تغییر دهید. برای دستورالعملهای مربوط به تغییرات قابلقبول در «واسط کاربر پیمایش»، به صفحه خطمشیها مراجعه کنید.
کنترلهای میانای کاربر نقشه
کیت توسعه نرمافزار ناوبری برخیاز کنترلهای میانای کاربر داخلی را ارائه میدهد
که مشابه کنترلهای موجود در برنامه Google Maps برای iOS است. میتوانید
رؤیتپذیری این کنترلها را بااستفاده از کلاس
GMSUISettings تغییر دهید. تغییراتی که در این کلاس ایجاد میکنید بلافاصله در نقشه منعکس میشود.
قطبنما
«کیت توسعه نرمافزار ناوبری» گرافیک قطبنمایی ارائه میدهد که در شرایط خاصی و فقط زمانی که فعال باشد در گوشه بالای نقشه ظاهر میشود. وقتی کاربر روی قطبنما کلیک میکند، دوربین به موقعیتی با زاویه صفر (جهتگیری پیشفرض) برمیگردد و قطبنما کمی بعد محو میشود.
اگر پیمایش فعال باشد و حالت دوربین روی «دنبال کردن» تنظیم شده باشد، قطبنما قابلمشاهده میماند و با تکضرب زدن روی قطبنما بین چشماندازهای دوربین کجشده و نمای کلی جابهجا میشوید.
برای جلوگیری از حواسپرتی راننده، اگر سرصفحه (در حالت عمودی) گسترش یابد و با موقعیت پیشفرض قطبنما تداخل داشته باشد، قطبنما در همان موقعیت باقی میماند. اگر کنترل سفارشی سرایند ثانویه یا نمای لوازم جانبی سرایند اضافه کنید، قطبنما پنهان میشود تا از تداخل میانای کاربر جلوگیری شود.
قطبنما از حالتهای روز و شب و همچنین حالت تاریک پشتیبانی میکند.
قطبنما بهطور پیشفرض در نسخه ۱۱.۰.۰ و بالاتر فعال است. میتوانید
قطبنما را با تنظیم
ویژگی 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];
رنگهای سرصفحه حالت کمنور
Navigation SDK for 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 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){...}];