रास्ते की जानकारी (इसमें रास्ता बदलना भी शामिल है) के लिए की गई कैलकुलेशन में, सबसे कम समय में पहुंचने वाले रास्ते को डिफ़ॉल्ट सबसे सही रास्ता के तौर पर दिखाया जाता है. हालांकि, रूटिंग की रणनीति को बदला जा सकता है, ताकि रूट के छोटे विकल्पों को दिखाया जा सके.
छोटा शब्द का मतलब है कि यह रास्ता, हमारे डिफ़ॉल्ट लागत मॉडल के आधार पर सबसे छोटे रास्ते में से एक है. ऐसा हो सकता है कि छोटा रास्ता, सबसे छोटा रास्ता न हो, क्योंकि वह विकल्प सही नहीं हो सकता. उदाहरण के लिए, अगर सबसे छोटा रास्ता 10 कि॰मी॰ का है और इस पर जाने में 50 मिनट लगते हैं. वहीं, दूसरा रास्ता 15 कि॰मी॰ का है, लेकिन इस पर जाने में सिर्फ़ 20 मिनट लगते हैं, तो दूसरा रास्ता सबसे अच्छा है. ऐसा इसलिए, क्योंकि पांच कि॰मी॰ की दूरी कम करने के लिए 30 मिनट ज़्यादा खर्च करना सही नहीं है.
किसी यात्रा के लिए रास्तों की जानकारी पाने की रणनीति सेट करने के बाद, यात्रा पूरी होने तक उसे बदला नहीं जा सकता. किसी मौजूदा यात्रा के लिए रास्तों की रणनीति बदलने के लिए, आपको मंज़िलों को हटाना होगा. इसके बाद, रास्तों की नई रणनीति के साथ उन्हें फिर से सेट करना होगा.
रूटिंग की रणनीति सेट करना
setDestinations() को कॉल करते समय, RoutingOptions.routingStrategy सेट करके रूटिंग की रणनीति को कॉन्फ़िगर किया जा सकता है.
RoutingOptions.routingStrategy इनमें से कोई एक वैल्यू लेता है:
| इन्यूमरेशन वैल्यू | ब्यौरा |
|---|---|
| RoutingStrategy.DEFAULT_BEST | यह Navigation SDK के डिफ़ॉल्ट कॉस्ट मॉडल के हिसाब से रास्तों को रैंक करता है. यह रूटिंग की डिफ़ॉल्ट रणनीति है. |
| RoutingStrategy.SHORTER | यह दूरी के हिसाब से रास्तों को रैंक करता है. सबसे ज़्यादा रैंक वाला रास्ता, दिखाए गए रास्तों में सबसे छोटा होता है. |
उदाहरण
यहां दिए गए कोड के उदाहरण में, छोटे रास्ते को प्राथमिकता देने की सेटिंग सेट करने का तरीका बताया गया है.
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
ऐसे रास्ते जिनमें फ़ेरी शामिल हो
डिफ़ॉल्ट रूप से, NavSDK उन रास्तों को शामिल नहीं करता जिनमें फ़ेरी शामिल होती हैं. अगर आपको अपने रास्तों में फ़ेरी के विकल्प शामिल करने हैं, तो रास्तों से जुड़ी इस प्राथमिकता को बदला जा सकता है. इसके लिए, avoidFerries को false पर सेट करें, ताकि फ़ेरी के सेगमेंट में यात्रा दिख सके.
उदाहरण
RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);
रास्ते के कॉलआउट का फ़ॉर्मैट
छोटे रास्ते को प्राथमिकता देने पर, रास्ते के साथ-साथ कॉलआउट में दूरी की जानकारी दिखती है. हालांकि, ईटीए कॉलआउट का इस्तेमाल किया जा सकता है.
रूट कॉलआउट फ़ॉर्मैट को कॉन्फ़िगर करना
NavigationView (या NavigationFragment) में setRouteCalloutInfoFormat को कॉल करके, रूट कॉलआउट का फ़ॉर्मैट बदला जा सकता है. setRouteCalloutInfoFormat इनमें से कोई एक वैल्यू लेता है:
| इन्यूमरेशन वैल्यू | ब्यौरा |
|---|---|
| RouteCalloutInfoFormat.DEFAULT | यह डिफ़ॉल्ट सबसे सही रास्ते की राउटिंग रणनीति का इस्तेमाल करते समय, बचे हुए समय को दिखाता है. यह छोटी दूरी वाले रास्ते की राउटिंग की रणनीति का इस्तेमाल करते समय, बची हुई दूरी दिखाता है. |
| RouteCalloutInfoFormat.TIME | इससे पता चलता है कि वीडियो खत्म होने में कितना समय बाकी है. |
| RouteCalloutInfoFormat.DISTANCE | बची हुई दूरी दिखाता है. |
उदाहरण
यहां दिए गए कोड के उदाहरण में, रूट कॉलआउट के फ़ॉर्मैट को कॉन्फ़िगर करने का तरीका बताया गया है.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);