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

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

डिफ़ॉल्ट रूप से, जब उपयोगकर्ता तय की गई स्पीड से 5 मील प्रति घंटा (या 10 कि॰मी॰ प्रति घंटा) ज़्यादा स्पीड से गाड़ी चलाता है, तो Navigation SDK, स्पीड की चेतावनी ट्रिगर करता है. साथ ही, स्पीडोमीटर के टेक्स्ट का रंग बदलकर लाल कर देता है. जब उपयोगकर्ता, तय की गई स्पीड लिमिट से 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 0xffffff(सफ़ेद)
MinorSpeedAlertBackgroundColorNightMode 0x000000
MinorSpeedAlertTextColorDayMode 0xd93025
MinorSpeedAlertTextColorNightMode 0xd93025
MajorSpeedAlertBackgroundColorDayMode 0xd93025
MajorSpeedAlertBackgroundColorNightMode 0xd93025
MajorSpeedAlertTextColorDayMode 0xffffff(सफ़ेद)
MajorSpeedAlertTextColorNightMode 0xffffff(सफ़ेद)

स्पीड लिमिट से थोड़ी ज़्यादा और बहुत ज़्यादा स्पीड होने पर मिलने वाली सूचनाओं के लिए, स्पीडोमीटर के टेक्स्ट और बैकग्राउंड का रंग तय किया जा सकता है:

 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 NavigationFragment.
navigationFragment.setSpeedometerUiOptions(speedometerUiOptionsBuilder.build());
 navigationFragment.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);