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

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

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

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

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

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

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

float minorSpeedAlertThresholdPercentage = 5;
float majorSpeedAlertThresholdPercentage = 10;
double severityUpgradeDurationSeconds = 5;

// Configure SpeedAlertOptions
SpeedAlertOptions.Builder speedAlertOptionsBuilder = new SpeedAlertOptions.Builder();
speedAlertOptionsBuilder.setSpeedAlertThresholdPercentage(
    SpeedAlertSeverity.MINOR, minorSpeedAlertThresholdPercentage);
speedAlertOptionsBuilder.setSpeedAlertThresholdPercentage(
    SpeedAlertSeverity.MAJOR, majorSpeedAlertThresholdPercentage);
 speedAlertOptionsBuilder.setSeverityUpgradeDurationSeconds(severityUpgradeDurationSeconds);

// Set SpeedAlertOptions to Navigator.
navigator.setSpeedAlertOptions(speedAlertOptionsBuilder.build());

התאמה אישית של האופן שבו מד המהירות יציג התראות על מהירות

כדי שהתראות המהירות ימשכו יותר תשומת לב, תוכלו להתאים אישית את הצבעים של תצוגת מד המהירות לכל רמת התראה.

בטבלה הבאה מוצגים צבעי ברירת המחדל להתראות על מהירות במחלקה NavigationView:

רכיבצבע
MinorSpeedAlertBackgroundColorDayMode 0xxx(לבן)
MinorSpeedAlertBackgroundColorNightMode 0x000,000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xxx(לבן)
MajorSpeedAlertTextColorNightMode 0xxx(לבן)

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

SpeedometerUiOptions speedometerUiOptions =
        new SpeedometerUiOptions.Builder()
            .setBackgroundColorDayMode(MINOR, some_color)
            .setBackgroundColorNightMode(MINOR, some_color)
            .setTextColorDayMode(MINOR, some_color)
            .setTextColorNightMode(MINOR, some_color)
            .setBackgroundColorDayMode(MAJOR, some_color)
            .setBackgroundColorNightMode(MAJOR, some_color)
            .setTextColorDayMode(MAJOR, some_color)
            .setTextColorNightMode(MAJOR, some_color)
            .build();

// Set SpeedometerUiOptions to NavigationView.
navigationView.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
navigationView.setSpeedometerEnabled(true);

// Set SpeedometerUiOptions to SupportNavigationFragment.
supportNavigationFragment.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
supportNavigationFragment.setSpeedometerEnabled(true);

לקבל מידע על מהירות מנהגים

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

לדוגמה, הדוגמה הבאה משתפת מידע על המהירות כשהמהירות היא אחוז מסוים מעל המהירות:

// Existing flow for creating Navigator.
NavigationApi.getNavigator();

// Set the SpeedAlertOptions for the MAJOR and MINOR alerts. (Note that the
// severityUpgradeDurationSeconds field is by design not used in this flow.)
SpeedAlertOptions speedAlertOptions = ...;
navigator.setSpeedAlertOptions(speedAlertOptions);

// Implement SpeedingListener.
SpeedingListener speedingListener = new SpeedingListener() {
  @Override
  public void onSpeedingUpdated(float percentageAboveLimit, SpeedAlertSeverity speedAlertSeverity) {
  ...
  }
};

// Set speedingListener to Navigator.
navigator.setSpeedingListener(speedingListener);