وقتی پیمایش فعال است، Navigation SDK برای iOS یک کنترل محدودیت سرعت را در گوشه سمت چپ پایین نقشه نشان میدهد که محدودیت سرعت فعلی را نشان میدهد. اگر راننده از حد مجاز تجاوز کند، کنترل گسترش مییابد تا یک سرعتسنج در کنار نمایشگر محدودیت سرعت نمایش داده شود و زمانی که سرعت به آستانه معینی میرسد، هشدارها را فعال میکند.
به طور پیشفرض، Navigation SDK زمانی که راننده از حد مجاز سرعت 5 مایل در ساعت (یا 10 کیلومتر در ساعت) فراتر میرود، هشدار سرعت جزئی را ایجاد میکند و رنگ متن سرعتسنج را به قرمز تغییر میدهد. هنگامی که راننده 10 مایل در ساعت (یا 20 کیلومتر در ساعت) از حد مجاز سرعت فراتر رود، هشدار سرعت اصلی را ایجاد می کند و رنگ پس زمینه سرعت سنج را به قرمز تغییر می دهد.
شما می توانید هم آستانه برای فعال کردن هشدارها و هم رنگ متن و پس زمینه را که سرعت سنج نمایش می دهد سفارشی کنید. همچنین می توانید از Navigation SDK برای در دسترس قرار دادن اطلاعات سرعت راننده استفاده کنید. به عنوان مثال، میتوانید اطلاعات سرعت را در اختیار اپراتورهای اشتراکگذاری سواری قرار دهید تا به آنها کمک کنید رانندگان خود را تشویق کنند تا به محدودیت سرعت پایبند باشند و ایمنی را بهبود بخشند.
سفارشی کردن آستانه برای هشدارهای سرعت
شما می توانید آستانه هشدار سرعت را برای هر دو هشدار سرعت جزئی و اصلی به عنوان درصدی بیش از حد مجاز سرعت سرعت فعلی سفارشی کنید. همچنین میتوانید مشخص کنید که چه مدت از آستانه فراتر رفته است تا نقشه هشدار را نمایش دهد.
مثال کد زیر آستانه هشدار سرعت جزئی را به پنج درصد بیش از حد مجاز سرعت، و آستانه برای هشدار سرعت اصلی را روی 10 درصد بیش از حد مجاز تعیین می کند. مشخص میکند که نقشه پس از گذشت پنج ثانیه از آستانه هشدار، هشداری را نشان میدهد.
سریع
اجازه دهید minorSpeedAlertThresholdPercentage: CGFloat = 0.05 اجازه دهید majorSpeedAlertThresholdPercentage: CGFloat = 0.1 اجازه دهید severityUpgradeDurationSeconds: TimeInterval = 5
// پیکربندی SpeedAlertOptions اجازه دهید mutableSpeedAlertOptions: GMSNavigationMutableSpeedAlertOptions = GMSNavigationMutableSpeedAlertOptions() mutableSpeedAlertOptions.setSpeedAlertThresholdPercentage,MutorSpeedAlert s.setSpeedAlertThresholdPercentage(majorSpeedAlertThresholdPercentage، برای: .major) mutableSpeedAlertOptions.severityUpgradeDurationSeconds = severityUpgradeDurationSeconds
// SpeedAlertOptions را روی Navigator تنظیم کنید. mapView.navigator?.speedAlertOptions = mutableSpeedAlertOptions; mapView.navigator?.add(self); // فقط در صورت گوش دادن به رویدادهای نماینده مورد نیاز است.
هدف-C
static const CGFloat minorSpeedAlertThresholdPercentage = 0.05; static const CGFloat majorSpeedAlertThresholdPercentage = 0.1; static const NSTimeInterval severityUpgradeDurationSeconds = 5;
// پیکربندی SpeedAlertOptions GMSNavigationMutableSpeedAlertOptions *mutableSpeedAlertOptions = [[GMSNavigationMutableSpeedAlertOptions alloc] init]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage: minorSpeedAlertThresholdPercentage forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMinor]; [mutableSpeedAlertOptions setSpeedAlertThresholdPercentage:majorSpeedAlertThresholdPercentage forSpeedAlertSeverity:GMSNavigationSpeedAlertSeverityMajor]; [mutableSpeedAlertOptions setSeverityUpgradeDurationSeconds:severityUpgradeDurationSeconds];
// SpeedAlertOptions را روی Navigator تنظیم کنید. mapView.navigator.speedAlertOptions = mutableSpeedAlertOptions; [mapView.navigator addListener:self]; // فقط در صورت گوش دادن به رویدادهای نماینده مورد نیاز است.
سفارشی کردن نحوه نمایش سرعت سنج هشدارهای سرعت
می توانید رنگ های نمایشگر سرعت سنج را برای هر سطح هشدار سفارشی کنید.
جدول زیر رنگ های پیش فرض هشدارهای سرعت در کلاس GMSNavigationSpeedometerUIOptions
را نشان می دهد:
عنصر | رنگ |
---|---|
MinorSpeedAlertBackgroundColorDayMode | 0xffffff (سفید) |
MinorSpeedAlertBackgroundColorNightMode | 0x000000 |
MinorSpeedAlertTextColorDayMode | 0xd93025 |
MinorSpeedAlertTextColorNightMode | 0xd93025 |
MajorSpeedAlertBackgroundColorDayMode | 0xd93025 |
MajorSpeedAlertBackgroundColorNightMode | 0xd93025 |
MajorSpeedAlertTextColorDayMode | 0xffffff (سفید) |
MajorSpeedAlertTextColorNightMode | 0xffffff (سفید) |
میتوانید متن و رنگ پسزمینه سرعتسنج را برای هشدارهای سرعت جزئی و اصلی مشخص کنید:
سریع
اجازه دهید mutableSpeedometerUIOptions: GMSNavigationMutableSpeedometerUIOptions = GMSNavigationMutableSpeedometerUIOptions() mutableSpeedometerUIOptions.setTextColor(minorSpeedAlertTextColor، برای: .minor، lightingMode: TextColor، برای: .major، lightingMode: .normal) mutableSpeedometerUIOptions.setBackgroundColor(minorSpeedAlertNightModeBackgroundColor، برای: .minor , lightingMode: .lowLight) mutableSpeedometerUIOptions.setBackgroundColor(majorSpeedAlertDayModeBackgroundColor, for: .major, lightingMode: .normal)
mapView.settings.speedometerUIOptions = mutableSpeedometerUIOptions
هدف-C
GMSNavigationMutableSpeedometerUIOptions *mutableSpeedometerUIOptions = [[GMSNavigationMutableSpeedometerUIOptions alloc] init]; [mutableSpeedometerUIOptions setTextColor: minorSpeedAlertTextColor forSpeedAlertSeverity: GMSNavigationSpeedAlertSeverityحالت روشنایی جزئی: 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 نیز برای در دسترس قرار دادن اطلاعات سرعت راننده استفاده کنید. این می تواند برای برنامه های اشتراک گذاری که در آن اپراتور بخواهد سرعت بیش از حد رانندگان را برای بهبود ایمنی کنترل کند، مفید باشد.
به عنوان مثال، مثال زیر زمانی که سرعت یک درصد مشخص از حد مجاز سرعت باشد، اطلاعات سرعت را به اشتراک می گذارد:
سریع
// روش شنونده برای به اشتراک گذاری اطلاعات سرعت زمانی که سرعت از حد مجاز سرعت با درصد مشخصی بیشتر شود. #pragma mark GMSNavigatorListener func navigator(_ navigator : GMSNavigator, didUpdateSpeedingPercentage %AboveLimit : Float) { ... }
هدف-C
// روش شنونده گوش دادن به فید با سرعت زیاد. علامت #pragma GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }