وقتی پیمایش فعال باشد و حالت سفر روی رانندگی تنظیم شده باشد، Navigation SDK for iOS کنترل حد مجاز سرعت را در گوشه پایین سمت راست نقشه نمایش میدهد که حد مجاز سرعت فعلی را نشان میدهد. اگر راننده از حد مجاز سرعت فراتر رود، کنترل گسترش مییابد تا سرعتسنجی را درکنار نمایشگر حد مجاز سرعت نشان دهد و وقتی سرعت به آستانه خاصی میرسد، هشدارها را فعال میکند.
بهطور پیشفرض، Navigation SDK وقتی راننده از حد مجاز سرعت بهاندازه ۵ مایل در ساعت (یا ۱۰ کیلومتر در ساعت) فراتر میرود، هشدار سرعت جزئی را فعال میکند و رنگ نوشتار سرعتسنج را به قرمز تغییر میدهد. وقتی راننده از حد مجاز سرعت ۱۰ مایل در ساعت (یا ۲۰ کیلومتر در ساعت) فراتر میرود، هشدار سرعت زیاد را فعال میکند و رنگ پسزمینه سرعتسنج را به قرمز تغییر میدهد.
میتوانید هم آستانه فعال شدن هشدارها و هم رنگ نوشتار و پسزمینه نمایش دادهشده در سرعتسنج را سفارشیسازی کنید. همچنین میتوانید از Navigation SDK برای دردسترس قرار دادن اطلاعات سرعت راننده استفاده کنید. برای مثال، میتوانید اطلاعات سرعت را دردسترس اپراتورهای همسفری قرار دهید تا به آنها کمک کنید رانندگانشان را به رعایت محدودیت سرعت و بهبود ایمنی تشویق کنند.
سفارشیسازی آستانه برای هشدارهای سرعت
میتوانید آستانه هشدار سرعت را برای هشدارهای سرعت جزئی و کلی بهصورت درصدی از حد مجاز سرعت فعلی سفارشیسازی کنید. همچنین میتوانید مشخص کنید که چه مدت از فراتر رفتن از آستانه بگذرد تا نقشه هشدار را نمایش دهد.
نمونه کد زیر آستانه هشدار سرعت جزئی را روی پنج درصد بالاتر از حد مجاز سرعت و آستانه هشدار سرعت اصلی را روی ۱۰ درصد بالاتر از حد مجاز سرعت تنظیم میکند. این قانون مشخص میکند که نقشه پساز اینکه آستانه هشدار بهمدت پنج ثانیه رد شد، هشدار نمایش دهد.
Swift
let minorSpeedAlertThresholdPercentage: CGFloat = 0.05 let
majorSpeedAlertThresholdPercentage: CGFloat = 0.1 let
severityUpgradeDurationSeconds: TimeInterval = 5
// Configure SpeedAlertOptions let mutableSpeedAlertOptions:
GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions()
mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(minorSpeedAlertThresholdPercentage,
for: .minor)
mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage(majorSpeedAlertThresholdPercentage,
for: .major) mutableSpeedAlertOptions.severityUpgradeDurationSeconds =
severityUpgradeDurationSeconds
// Set SpeedAlertOptions to Navigator. mapView.navigator?.speedAlertOptions =
mutableSpeedAlertOptions; mapView.navigator?.add(self); // Only needed if
listening to the delegate events.
آبجکتیو-سی
static const CGFloat minorSpeedAlertThresholdPercentage = 0.05; static const
CGFloat majorSpeedAlertThresholdPercentage = 0.1; static const NSTimeInterval
severityUpgradeDurationSeconds = 5;
// Configure SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions
*mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc]
init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage:
minorSpeedAlertThresholdPercentage
forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor];
[mutableSpeedAlertOptions
setSpeedAlertThresholdPercentage:majorSpeedAlertThresholdPercentage
forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMajor];
[mutableSpeedAlertOptions
setSeverityUpgradeDurationSeconds:severityUpgradeDurationSeconds];
// Set SpeedAlertOptions to Navigator. mapView.navigator.speedAlertOptions =
mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // Only needed
if listening to the delegate events.
سفارشیسازی نحوه نمایش هشدارهای سرعت توسط سرعتسنج
میتوانید رنگهای نمایشگر سرعتسنج را برای هر سطح هشدار سفارشیسازی کنید.
جدول زیر رنگهای پیشفرض برای هشدارهای سرعت را در کلاس
GMSNavigationSpeedometerUIOptions نشان میدهد:
| عنصر | رنگ |
|---|---|
| MinorSpeedAlertBackgroundColorDayMode | 0xffffff(سفید) |
| MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
| MinorSpeedAlertTextColorDayMode | 0xd93025 |
| MinorSpeedAlertTextColorNightMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
| MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
| MajorSpeedAlertTextColorDayMode | 0xffffff(سفید) |
| MajorSpeedAlertTextColorNightMode | 0xffffff(سفید) |
میتوانید رنگ نوشتار و پسزمینه سرعتسنج را برای هشدارهای سرعت جزئی و کلی مشخص کنید:
Swift
let mutableSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions =
GMSNavigationMutableSpeedometerUIOptions()
mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor, for: .minor,
lightingMode: .normal)
mutableSpeedometerUIOptions.setTextColor(majorSpeedAlertTextColor, for: .major,
lightingMode: .normal)
mutableSpeedometerUIOptions.setBackgroundColor(minorSpeedAlertNightModeBackgroundColor,
for: .minor, lightingMode: .lowLight)
mutableSpeedometerUIOptions.setBackgroundColor(majorSpeedAlertDayModeBackgroundColor,
for: .major, lightingMode: .normal)
mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions
آبجکتیو-سی
GMSNavigationMutableSpeedometerUIOptions *mutableSpeedometerUIOptions =
[[GMSNavigationMutableSpeedometerUIOptions alloc] init];
[mutableSpeedometerUIOptions setTextColor: minorSpeedAlertTextColor
forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:
GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions setTextColor:
majorSpeedAlertTextColor forSpeedAlertSeverity:
GMSNavigationSpeedAlertSeverityMajor lightingMode:
GMSNavigationLightingModeNormal]; [mutableSpeedometerUIOptions
setBackgroundColor: minorSpeedAlertNightModeBackgroundColor
forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityMinor lightingMode:
GMSNavigationLightingModeLowLight]; [mutableSpeedometerUIOptions
setBackgroundColor: majorSpeedAlertDayModeBackgroundColor forSpeedAlertSeverity:
GMSNavigationSpeedAlertSeverityMajor
lightingMode:GMSNavigationLightingModeNormal];
mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions;
دریافت اطلاعات سرعت از رانندگان
اگر برنامه شما نیاز به همرسانی اطلاعات درباره سرعت راننده دارد، میتوانید از Navigation SDK نیز برای دردسترس قرار دادن اطلاعات سرعت راننده استفاده کنید. این ویژگی میتواند برای برنامههای همسفری مفید باشد که در آنها اپراتور ممکن است بخواهد سرعت بیشازحد رانندگان را برای بهبود ایمنی نظارت کند.
برای مثال، نمونه زیر اطلاعات سرعت را زمانی همرسانی میکند که سرعت درصد مشخصی بالاتر از سقف سرعت مجاز باشد:
Swift
// Listener method for sharing speed information when the speed exceeds the
speed limit by a specified percentage. #pragma mark GMSNavigatorListener func
navigator(_ navigator : GMSNavigator, didUpdateSpeedingPercentage
percentageAboveLimit : Float) { ... }
آبجکتیو-سی
// Listener method listening to speeding feed. #pragma mark
GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator
didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }