रास्ते की गणना (फिर से रास्ता बताना शामिल है) वह रास्ता दिखाती है जिसे डिफ़ॉल्ट सबसे अच्छे रास्ते के रूप में नेविगेट करने में सबसे कम समय लगता है. हालाँकि, रूटिंग की रणनीति में बदलाव किया जा सकता है, ताकि दूसरे रास्ते की तुलना में कम अवधि के विकल्प को दिखाया जा सके.
छोटा शब्द का मतलब, उस रास्ते से है जो हमारे डिफ़ॉल्ट लागत मॉडल के हिसाब से, सबसे अच्छे रास्तों में से सबसे छोटा हो. हो सकता है कि छोटा रास्ता पूरा न हो, क्योंकि वह अच्छा विकल्प नहीं हो सकता. उदाहरण के लिए, अगर सबसे छोटा रास्ता 10 कि॰मी॰ है और नेविगेट करने में 50 मिनट लगते हैं और दूसरे रास्ते से 15 कि॰मी॰ दूर है, लेकिन नेविगेट करने में सिर्फ़ 20 मिनट लगते हैं, तो दूसरा विकल्प सबसे अच्छा होगा, क्योंकि पांच कि॰मी॰ कम करने के लिए 30 मिनट खर्च करना सही नहीं है.
यात्रा के लिए रूटिंग की रणनीति सेट करने के बाद, यात्रा पूरी होने तक इसमें बदलाव नहीं होगा. किसी मौजूदा यात्रा के लिए रूटिंग रणनीति बदलने के लिए, आपको मंज़िलों को साफ़ करना होगा और उन्हें नई रूटिंग रणनीति के साथ फिर से रीसेट करना होगा.
रास्ते की जानकारी लोड की जा रही है
यह तय करने के लिए कि किसी दिए गए वेपॉइंट के लिए कौनसी रास्ता रणनीति सबसे अच्छा विकल्प है, getRouteInfo()
पर कॉल करें और डिफ़ॉल्ट रूप से सबसे अच्छे रास्ते और छोटे रास्ते, दोनों के लिए रास्ते की जानकारी पाएं. इसमें कुल समय और मंज़िल वेपॉइंट की दूरी शामिल होती है.
यह जानकारी RouteInfo
से मिलती है और इसे
ListenableResultFuture
में लौटाया जाता है.
उदाहरण
नीचे दिए गए कोड के उदाहरण में, रूटिंग की दो रणनीतियों में से हर एक के लिए रास्ते की जानकारी पाने का तरीका बताया गया है.
ListenableResultFuture<RouteInfo> routeInfoFuture =
navigator.getRouteInfo(waypoint, routingOptions);
रूटिंग की रणनीति सेट करना
setDestinations()
को कॉल करते समय RoutingOptions.routingStrategy
को सेट करके, रूटिंग रणनीति को कॉन्फ़िगर किया जा सकता है.
RoutingOptions.routingStrategy
में से कोई एक इन्यूमिरेशन वैल्यू ली जाती है:
इन्यूमिरेशन वैल्यू | ब्यौरा |
---|---|
RoutingStrategy.DEFAULT_BEST | नेविगेशन 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);
रास्ते का कॉल आउट फ़ॉर्मैट
छोटे रास्ते की प्राथमिकता में, रास्ते के कॉलआउट दूरी की जानकारी दिखाते हैं. हालांकि, ETA कॉलआउट का इस्तेमाल किया जा सकता है.
रूट कॉलआउट फ़ॉर्मैट को कॉन्फ़िगर करना
NavigationView
या NavigationFragment
में setRouteCalloutInfoFormat
को कॉल करके, रूट कॉलआउट का फ़ॉर्मैट बदला जा सकता है. setRouteCalloutInfoFormat
, यहां दी गई गिनती में से कोई एक वैल्यू लेता है:
इन्यूमिरेशन वैल्यू | ब्यौरा |
---|---|
RouteCalloutInfoFormat.DEFAULT | सबसे अच्छे रास्ते की रूटिंग रणनीति का इस्तेमाल करने पर, बचा हुआ समय दिखाता है. छोटी रास्ते की रूटिंग रणनीति का इस्तेमाल करने पर, बची हुई दूरी दिखाता है. |
RouteCalloutInfoFormat.TIME | बचा हुआ समय दिखाता है. |
RouteCalloutInfoFormat.DISTANCE | बची हुई दूरी दिखाता है. |
उदाहरण
यहां दिए गए कोड के उदाहरण में, रूट कॉलआउट के फ़ॉर्मैट को कॉन्फ़िगर करने का तरीका बताया गया है.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);