नेविगेशन चालू होने पर, Android के लिए Navigation SDK, मैप के सबसे नीचे बाएं कोने में स्पीड लिमिट कंट्रोल दिखाता है. इससे मौजूदा स्पीड लिमिट का पता चलता है. अगर कोई उपयोगकर्ता तय की गई गति सीमा से ज़्यादा गति से गाड़ी चलाता है, तो कंट्रोल बड़ा हो जाता है. इससे गति सीमा दिखाने वाले डिसप्ले के बगल में स्पीडोमीटर दिखता है. साथ ही, गति सीमा के तय थ्रेशोल्ड तक पहुंचने पर सूचनाएं ट्रिगर होती हैं.
डिफ़ॉल्ट रूप से, Navigation SDK टूल, उपयोगकर्ता के 5 मील प्रति घंटे (या 10 कि॰मी॰ प्रति घंटे) की गति सीमा से ज़्यादा होने पर, स्पीड अलर्ट ट्रिगर करता है. साथ ही, स्पीडोमीटर के टेक्स्ट का रंग लाल कर देता है. जब उपयोगकर्ता, गति सीमा से 10 मील प्रति घंटे (या 20 कि॰मी॰ प्रति घंटे) ज़्यादा गति से गाड़ी चलाता है, तब यह सुविधा स्पीड से जुड़ा एक गंभीर अलर्ट ट्रिगर करती है. साथ ही, स्पीडोमीटर के बैकग्राउंड का रंग बदलकर लाल कर देती है.
सूचनाएं ट्रिगर करने के थ्रेशोल्ड और स्पीडोमीटर में दिखने वाले टेक्स्ट और बैकग्राउंड के रंगों, दोनों को अपनी पसंद के मुताबिक बनाया जा सकता है. Navigation 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 | 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 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);