הגדרת התראות לגבי מד המהירות

כשהניווט מופעל ומצב הנסיעה מוגדר לנהיגה, ב-SDK לניווט ב-iOS מוצגת בקרת מהירות בפינה הימנית התחתונה של המפה, שמציגה את מגבלת המהירות הנוכחית. אם הנהג חורג מהמהירות המותרת, הבקר מתרחב ומציג מד מהירות לצד תצוגת המהירות המותרת, ושולח התראה כשהמהירות מגיעה לסף מסוים.

כברירת מחדל, Navigation SDK מפעיל התראת מהירות משנית כשהנהג חורג מהמהירות המותרת ב-5 מיילים (או 10 קמ"ש) ומשנה את הצבע של הטקסט במד המהירות לאדום. היא מפעילה התראת מהירות משמעותית כשהנהג חורג מהמהירות המותרת ב-10 קמ"ש (או 20 קמ"ש) ומשנה את צבע הרקע של מד המהירות לאדום.

תוכלו להתאים אישית את הסף להפעלת ההתראות ואת צבעי הרקע והטקסט שמוצגים במד המהירות. אפשר גם להשתמש ב-Navigation SDK כדי לקבל מידע על מהירות הנהג. לדוגמה, אפשר להנגיש את המידע על המהירות למפעילי נסיעות משותפות, כדי לעודד את הנהגים לציית למהירות המותרת ולשפר את הבטיחות.

התאמה אישית של ערכי הסף להתראות על מהירות

אפשר להתאים אישית את הסף לקבלת התראות על מהירות מופרזת, גם עבור התראות מהירות קלות וגם עם התראות מהירות ראשיות, כאחוז מעל המהירות המותרת. אפשר גם לציין כמה זמן יש חריגה מהסף עד להצגת ההתראה במפה.

דוגמת הקוד הבאה מגדירה את הסף להתראת מהירות משנית לחמישה אחוזים מעל המהירות המותרת, ואת הסף להתראת מהירות משמעותית ל-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 0x מוצאים(לבן)
MinorSpeedAlertBackgroundColorNightMode 0x000,000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0x מוצאים(לבן)
MajorSpeedAlertTextColorNightMode 0x מוצאים(לבן)

ניתן לציין את הטקסט ואת צבע הרקע של מד המהירות כדי להציג התראות קלות וגם התראות עיקריות:

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 { ... }