स्पीडोमीटर की चेतावनियां कॉन्फ़िगर करें

नेविगेशन चालू होने पर, Android के लिए नेविगेशन SDK टूल, मैप के नीचे बाएं कोने में स्पीड की सीमा दिखाता है. यह कंट्रोल, मौजूदा स्पीड की सीमा को दिखाता है. अगर ड्राइवर की रफ़्तार सीमा से ज़्यादा हो जाती है, तो कंट्रोल बड़ा हो जाता है और रफ़्तार सीमा के डिसप्ले के बगल में स्पीडोमीटर दिखाता है. रफ़्तार के एक तय सीमा तक पहुंचने पर अलर्ट ट्रिगर करता है.

डिफ़ॉल्ट रूप से, जब ड्राइवर की गति सीमा 5 mph (या 10 kph) से पार हो जाती है, नेविगेशन SDK एक मामूली स्पीड अलर्ट ट्रिगर करता है और स्पीडोमीटर के टेक्स्ट का रंग लाल में बदल देता है. जब ड्राइवर की रफ़्तार सीमा 10 मील प्रति घंटे या 20 किलोमीटर प्रति घंटा से ज़्यादा हो जाती है, तब यह स्पीड की एक बड़ी चेतावनी ट्रिगर कर देता है. इससे स्पीडोमीटर के बैकग्राउंड का रंग लाल हो जाता है.

आप अलर्ट ट्रिगर करने के लिए थ्रेशोल्ड तय कर सकते हैं. साथ ही, स्पीडोमीटर में दिखने वाले टेक्स्ट और बैकग्राउंड के कलर, दोनों को अपनी पसंद के मुताबिक बना सकते हैं. ड्राइवर की स्पीड से जुड़ी जानकारी को तय की गई थ्रेशोल्ड के हिसाब से उपलब्ध कराने के लिए, नेविगेशन SDK टूल का भी इस्तेमाल किया जा सकता है. उदाहरण के लिए, राइडशेयर ऑपरेटर को स्पीड से जुड़ी जानकारी उपलब्ध कराई जा सकती है. इससे उन्हें गाड़ी चलाने वालों को स्पीड लिमिट का पालन करने और सुरक्षा बढ़ाने में मदद मिलती है.

स्पीड की सूचना पाने के लिए, थ्रेशोल्ड को पसंद के मुताबिक बनाएं

रफ़्तार की छोटी और बड़ी, दोनों तरह से जुड़े अलर्ट के लिए, स्पीड अलर्ट थ्रेशोल्ड को अपनी पसंद के मुताबिक बनाया जा सकता है. इसे, मौजूदा स्पीड की रफ़्तार सीमा के प्रतिशत के तौर पर प्रतिशत के तौर पर सेट किया जा सकता है. यह भी तय किया जा सकता है कि सूचना दिखाने के लिए, मैप के थ्रेशोल्ड को कितनी देर तक बढ़ाया जाए.

नीचे दिए गए कोड के उदाहरण में, तेज़ रफ़्तार से जुड़ी सूचना के थ्रेशोल्ड को, रफ़्तार की सीमा से पांच प्रतिशत ज़्यादा पर सेट किया गया है. वहीं, बड़े रफ़्तार अलर्ट के लिए, थ्रेशोल्ड को रफ़्तार सीमा से 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 0xDDEX(व्हाइट)
MinorSpeedAlertBackgroundColorNightMode 0x0,00,000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xDDEX(व्हाइट)
MajorSpeedAlertTextColorNightMode 0xDDEX(व्हाइट)

स्पीडोमीटर के छोटे और बड़े, दोनों तरह के अलर्ट के लिए, स्पीडोमीटर के टेक्स्ट और बैकग्राउंड का रंग तय किया जा सकता है:

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);

ड्राइवर से स्पीड की जानकारी पाएं

अगर आपके ऐप्लिकेशन को ड्राइवर की रफ़्तार के बारे में जानकारी शेयर करने की ज़रूरत है, तो ड्राइवर की स्पीड की जानकारी उपलब्ध कराने के लिए नेविगेशन 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);