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

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

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