כשהניווט מופעל ומצב הנסיעה מוגדר לנהיגה, ערכת ה-SDK לניווט ל-iOS מציגה את מגבלת המהירות הנוכחית בפינה הימנית התחתונה של המפה. אם הנהג חורג מהמהירות המותרת, הפקד מתרחב ומוצג מד מהירות לצד המהירות המותרת, ומופעלות התראות כשהמהירות מגיעה לסף מסוים.
כברירת מחדל, ה-Navigation SDK מפעיל התראת מהירות קלה כשהנהג חורג מהמהירות המותרת ב-5 מייל לשעה (או 10 קמ"ש), ומשנה את הצבע של הטקסט של מד המהירות לאדום. היא מפעילה התראת מהירות משמעותית כשהנהג חורג מהמהירות המותרת ב-10 מייל לשעה (או 20 קמ"ש), ומשנה את צבע הרקע של מד המהירות לאדום.
אתם יכולים להתאים אישית את הסף להפעלת ההתראות, וגם את צבעי הטקסט והרקע שמוצגים במד המהירות. אפשר גם להשתמש ב-Navigation SDK כדי להציג את המידע על מהירות הנהג. לדוגמה, אתם יכולים להציג מידע על מהירות הנסיעה למפעילי שירותי הסעות כדי לעזור להם לעודד את הנהגים שלהם לציית למגבלת המהירות ולשפר את הבטיחות.
התאמה אישית של ערכי הסף להתראות על מהירות
אתם יכולים להתאים אישית את סף ההתראה על מהירות, גם להתראות קלות וגם להתראות חמורות, כאחוז מעל המהירות המותרת הנוכחית. אפשר גם לציין כמה זמן צריך לעבור מרגע החריגה מהסף ועד שההתראה תוצג במפה.
בדוגמה הבאה, הסף להתראה קלה על מהירות מוגדר ל-5% מעל המהירות המותרת, והסף להתראה חמורה על מהירות מוגדר ל-10% מעל המהירות המותרת. הוא מציין שהמפה מציגה התראה אחרי שחורגים מסף ההתראה למשך חמש שניות.
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.
Objective-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(לבן) |
אפשר לציין את צבע הטקסט והרקע של מד המהירות גם להתראות על חריגה קלה וגם להתראות על חריגה משמעותית:
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
Objective-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 כדי להציג את המידע הזה. המידע הזה יכול להיות שימושי באפליקציות של נסיעות שיתופיות, שבהן המפעיל רוצה לעקוב אחרי נהגים שנוסעים במהירות מופרזת כדי לשפר את הבטיחות.
לדוגמה, בדוגמה הבאה משותף מידע על המהירות כשהמהירות היא אחוז מסוים מעל המהירות המותרת:
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) { ... }
Objective-C
// Listener method listening to speeding feed. #pragma mark
GMSNavigatorListener - (void)navigator:(GMSNavigator *)navigator
didUpdateSpeedingPercentage:(float)percentageAboveLimit { ... }