وقتی پیمایش فعال است و حالت سفر روی رانندگی تنظیم شده است، Navigation SDK برای iOS یک کنترل محدودیت سرعت را در گوشه سمت چپ پایین نقشه نشان می دهد که محدودیت سرعت فعلی را نشان می دهد. اگر راننده از حد مجاز تجاوز کند، کنترل گسترش مییابد تا یک سرعتسنج در کنار نمایشگر محدودیت سرعت نمایش داده شود و زمانی که سرعت به آستانه معینی میرسد، هشدارها را فعال میکند.
به طور پیشفرض، Navigation SDK زمانی که راننده از حد مجاز سرعت 5 مایل در ساعت (یا 10 کیلومتر در ساعت) فراتر میرود، هشدار سرعت جزئی را ایجاد میکند و رنگ متن سرعتسنج را به قرمز تغییر میدهد. هنگامی که راننده 10 مایل در ساعت (یا 20 کیلومتر در ساعت) از حد مجاز سرعت فراتر رود، هشدار سرعت اصلی را ایجاد می کند و رنگ پس زمینه سرعت سنج را به قرمز تغییر می دهد.
شما می توانید هم آستانه برای فعال کردن هشدارها و هم رنگ متن و پس زمینه را که سرعت سنج نمایش می دهد سفارشی کنید. همچنین می توانید از Navigation SDK برای در دسترس قرار دادن اطلاعات سرعت راننده استفاده کنید. به عنوان مثال، میتوانید اطلاعات سرعت را در اختیار اپراتورهای اشتراکگذاری سواری قرار دهید تا به آنها کمک کنید رانندگان خود را تشویق کنند تا به محدودیت سرعت پایبند باشند و ایمنی را بهبود بخشند.
سفارشی کردن آستانه برای هشدارهای سرعت
شما می توانید آستانه هشدار سرعت را برای هر دو هشدار سرعت جزئی و اصلی به عنوان درصدی بیش از حد مجاز سرعت سرعت فعلی سفارشی کنید. همچنین میتوانید مشخص کنید که چه مدت از آستانه فراتر رفته است تا نقشه هشدار را نمایش دهد.
مثال کد زیر آستانه هشدار سرعت جزئی را به پنج درصد بیش از حد مجاز سرعت، و آستانه برای هشدار سرعت اصلی را روی 10 درصد بیش از حد مجاز تعیین می کند. مشخص میکند که نقشه پس از گذشت پنج ثانیه از آستانه هشدار، هشداری را نشان میدهد.
سویفت
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.
هدف-C
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 (سفید) |
میتوانید متن و رنگ پسزمینه سرعتسنج را برای هشدارهای سرعت جزئی و اصلی مشخص کنید:
سویفت
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
هدف-C
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) { ... }
هدف-C
// Listener method listening to speeding feed. #pragma mark
GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator
didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }