وقتی ناوبری فعال باشد و حالت سفر روی رانندگی تنظیم شده باشد، کیت توسعه نرمافزار ناوبری برای iOS یک کنترل محدودیت سرعت را در گوشه پایین سمت چپ نقشه نمایش میدهد که محدودیت سرعت فعلی را نشان میدهد. اگر رانندهای از سرعت مجاز تجاوز کند، این کنترل گسترش مییابد تا یک سرعتسنج در کنار نمایش محدودیت سرعت نمایش داده شود و هنگامی که سرعت به یک آستانه خاص میرسد، هشدارهایی را فعال میکند.
به طور پیشفرض، کیت توسعه نرمافزار ناوبری (Navigation SDK) هنگامی که راننده از سرعت مجاز 5 مایل در ساعت (یا 10 کیلومتر در ساعت) تجاوز کند، یک هشدار جزئی سرعت ایجاد میکند و رنگ متن سرعتسنج را به قرمز تغییر میدهد. هنگامی که راننده از سرعت مجاز 10 مایل در ساعت (یا 20 کیلومتر در ساعت) تجاوز کند، یک هشدار اصلی سرعت ایجاد میکند و رنگ پسزمینه سرعتسنج را به قرمز تغییر میدهد.
شما میتوانید آستانهی فعال شدن هشدارها و همچنین رنگ متن و پسزمینهی نمایش داده شده توسط سرعتسنج را سفارشی کنید. همچنین میتوانید از کیت توسعهی نرمافزار ناوبری (Navigation SDK) برای در دسترس قرار دادن اطلاعات سرعت راننده استفاده کنید. به عنوان مثال، میتوانید اطلاعات سرعت را در اختیار اپراتورهای سرویسهای اشتراک خودرو قرار دهید تا به آنها در تشویق رانندگانشان به رعایت محدودیت سرعت و بهبود ایمنی کمک کنید.
سفارشیسازی آستانهها برای هشدارهای سرعت
شما میتوانید آستانه هشدار سرعت را برای هشدارهای سرعت جزئی و کلی به صورت درصدی از سرعت مجاز فعلی تنظیم کنید. همچنین میتوانید مشخص کنید که چه مدت از آستانه تجاوز شده باشد تا نقشه هشدار را نمایش دهد.
مثال کد زیر آستانه هشدار سرعت جزئی را پنج درصد بالاتر از حد مجاز سرعت و آستانه هشدار سرعت عمده را ده درصد بالاتر از حد مجاز سرعت تعیین میکند. این کد مشخص میکند که نقشه پس از عبور از آستانه هشدار به مدت پنج ثانیه، هشداری را نمایش دهد.
سویفت
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 را نشان میدهد:
| عنصر | رنگ |
|---|---|
| هشدار سرعت جزئیرنگ پسزمینهحالت روز | 0xffffff (سفید) |
| هشدار سرعت جزئیرنگ پسزمینهحالت شب | 0x000000 |
| هشدار سرعت جزئیرنگ متنحالت روز | 0xd93025 |
| هشدار سرعت جزئیرنگ متنحالت شب | 0xd93025 |
| هشدار سرعت اصلیرنگ پسزمینهحالت روز | 0xd93025 |
| هشدار سرعت اصلیرنگ پسزمینهحالت شب | 0xd93025 |
| هشدار سرعت اصلیرنگ متنحالت روز | 0xffffff (سفید) |
| هشدار سرعت اصلی، رنگ متن، حالت شب | 0xffffff (سفید) |
شما میتوانید متن و رنگ پسزمینه سرعتسنج را برای هشدارهای جزئی و کلی سرعت مشخص کنید:
سویفت
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 نیز برای در دسترس قرار دادن اطلاعات سرعت راننده استفاده کنید. این میتواند برای برنامههای اشتراک سفر که در آنها یک اپراتور ممکن است بخواهد سرعت غیرمجاز رانندگان را برای بهبود ایمنی رصد کند، مفید باشد.
برای مثال، مثال زیر اطلاعات سرعت را زمانی که سرعت به میزان مشخصی بیشتر از حد مجاز باشد، به اشتراک میگذارد:
سویفت
// 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 { ... }