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