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

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

כברירת מחדל, Navigation SDK מפעיל התראה על מהירות נמוכה כשהנהג חורג מהמהירות המותרת ב-5 קמ"ש, ומשנה את הצבע של הטקסט של מד המהירות לאדום. כשהנהג חורג ממגבלת המהירות ב-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 { ... }