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

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

डिफ़ॉल्ट रूप से, जब उपयोगकर्ता की रफ़्तार, तय सीमा से 5 मील प्रति घंटे (या 10 किलोमीटर प्रति घंटे) ज़्यादा हो जाती है, तो Navigation 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 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);

उपयोगकर्ताओं से इंटरनेट की स्पीड की जानकारी पाना

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