कभी-कभी, आपको अपने ऐप्लिकेशन में उपयोगकर्ताओं को दिखाए जाने वाले रास्ते का प्लान बनाना पड़ सकता है. Routes API, Routes Preferred API या Route Optimization API से मिले रूट टोकन का इस्तेमाल करके, अपने प्लान किए गए रूट के लिए दो चीज़ें बताई जा सकती हैं:
रूट के लिए पॉलीलाइन
आपके रास्ते के मकसद
उदाहरण के लिए, यहां कुछ ऐसे उदाहरण दिए गए हैं जिनमें रूटिंग के लक्ष्य बताए गए हैं:
डिलीवरी में लगने वाले समय को कम करना: हो सकता है कि खाना डिलीवर करने वाला कोई कारोबार, डिलीवरी में लगने वाले समय को कम करना चाहे.
यात्रा में लगने वाले समय या ईंधन की खपत को कम करना: लॉजिस्टिक कारोबार, अपने ड्राइवरों की परफ़ॉर्मेंस को बेहतर बनाना चाहता है. साथ ही, ईंधन की लागत को कम करना चाहता है.
डेस्टिनेशन तक पहुंचने में लगने वाला समय कम करना: हो सकता है कि सेवा डिस्पैच ऑपरेशन, ऑपरेटर को किसी काम के अनुरोध पर पहुंचने में लगने वाले समय को कम करना चाहे.
लागत कम करना और सुरक्षा को बेहतर बनाना: हो सकता है कि राइड-शेयरिंग सेवा देने वाली कोई कंपनी, ऐसा रास्ता खोजना चाहे जिस पर यात्रियों को कम किराया देना पड़े. साथ ही, वह सुरक्षा के लिहाज़ से कुछ इलाकों से बचना चाहे.
रूट टोकन का इस्तेमाल करके रूट प्लान करने के बारे में ज़्यादा जानने के लिए, Routes API में रूट टोकन का अनुरोध करें और Route Optimization API में ट्रांज़िशन पॉलीलाइन और रूट टोकन देखें.
रूट के मकसद के लिए, रूट टोकन का इस्तेमाल क्यों करना चाहिए
Routes API, Routes Preferred API या Route Optimization API से मिले रास्ते के टोकन की मदद से, आपको दिए गए रास्ते पर ज़्यादा कंट्रोल मिलता है:
नेविगेशन SDK टूल का इस्तेमाल करने के लिए, रास्ते की योजना पहले से बनाएं.
नेविगेशन SDK टूल के इस्तेमाल के लिए सबसे सही रास्ता चुनें. अगर Routes API में रूट जनरेट करते समय, रूट टोकन का अनुरोध किया जाता है, तो आपको जनरेट किए गए हर रूट के लिए एक रूट टोकन मिलता है. इसके बाद, उस रास्ते के लिए टोकन चुना जा सकता है जिसका इस्तेमाल आपको नेविगेशन SDK टूल में करना है.
किराये का अनुमान पहले से लगाएं. इसमें ईटीए और दूरी का अनुमान भी शामिल है. असल खर्च और समय अलग-अलग हो सकता है. हालांकि, इस अनुमान से, रास्ते के अनुमानित और असल खर्च के बीच का अंतर कम हो जाता है.
रास्ते के ज़्यादा बेहतर लक्ष्य तय करें. जैसे, ईको-राउटिंग या सबसे छोटा रास्ता.
रूट टोकन कैसे काम करते हैं
रास्ते के मकसद का इस्तेमाल करके, रास्ते की योजना बनाने के लिए Routes API, Routes Preferred API या Route Optimization API का इस्तेमाल किया जा सकता है. इनमें से किसी भी एपीआई से मिले रास्ते के टोकन को, नेविगेशन SDK टूल को भेजा जा सकता है. इससे, यह तय किया जा सकता है कि आपके वाहन को किस रास्ते से ले जाया जाए.
रूट टोकन का अनुरोध करने और उसका इस्तेमाल करने पर क्या होता है, यहां बताया गया है:
Routes API, Routes Preferred API या Route Optimization API, एन्क्रिप्ट (सुरक्षित) किया गया रास्ता टोकन दिखाता है. इसमें रास्ते की पॉलीलाइन और रास्ते के मकसद शामिल होते हैं.
आपने नेविगेशन SDK टूल को रास्ते का टोकन दिया है.
नेविगेशन SDK टूल, रास्ता ढूंढता है. अगर बदलती परिस्थितियों की वजह से रास्ता उपलब्ध नहीं है, तो यह सबसे सही रास्ता ढूंढता है.
रास्ते पर ड्राइव करते समय, अगर ट्रैफ़िक या सड़क की अन्य स्थितियों में बदलाव होता है या कोई गाड़ी तय रास्ते से हट जाती है, तो बदले गए रास्ते, टोकन में रास्ते के मकसद के आधार पर सबसे अच्छे रास्ते से मैच करने की लगातार कोशिश करते हैं.
इस प्रोसेस से, यह तय किया जाता है कि आपके प्लान किए गए रास्ते के मुकाबले, असल रास्ता कितना करीब है.
ऐसा हो सकता है कि प्लान किए गए रास्ते पर पूरी तरह से न चला जा सके
अपने प्लान किए गए रास्ते और रास्ते के मकसद को दिशा-निर्देशों के तौर पर देखें: ये ज़रूरी नहीं हैं. आपको प्लान किए गए रास्ते और निर्देशों के साथ मिलने वाले रास्ते में अंतर दिख सकता है. ऐसा, सड़क की स्थिति, शुरू करने की जगह या प्लान किए गए रास्ते को बनाने के बाद बदले गए अन्य पैरामीटर में अंतर की वजह से हो सकता है. इस अंतर की वजह से, यात्रा की अन्य अहम जानकारी के साथ-साथ, दूरी और ईटीए के लिए आपके प्लान किए गए और असल लक्ष्यों में अंतर हो सकता है.
रास्ते के टोकन का इस्तेमाल करके रास्ता तय करना
रूट प्लान करने के लिए, रूट टोकन बनाएं और फिर उसे Navigation SDK में पास करें. इसके लिए, यह तरीका अपनाएं:
पहला चरण: Routes API, Routes Preferred API या Route Optimization API का इस्तेमाल करके, रूट टोकन बनाना
इनमें से किसी एक तरीके का इस्तेमाल करके, रास्ते का टोकन पाने का अनुरोध करें:
Routes API:
computeRoutes
. Routes API में रास्ते के टोकन का अनुरोध करने के बारे में ज़्यादा जानने के लिए, रास्ते का हिसाब लगाना और रास्ते के टोकन का अनुरोध करना लेख पढ़ें.Routes Preferred API:
computeCustomRoutes
. Routes Preferred API में, रास्ते के टोकन का अनुरोध करने के बारे में ज़्यादा जानने के लिए, रास्ता तय करना लेख पढ़ें.Route Optimization API:
optimizeTours
याbatchOptimizeTours
. Route Optimization API में, रास्ते के टोकन का अनुरोध करने के बारे में ज़्यादा जानने के लिए, ट्रांज़िशन पॉलीलाइन और रास्ते के टोकन देखें.
रूट टोकन का इस्तेमाल करने से जुड़ी ज़रूरी शर्तों को पूरा करने के लिए, Routes API या Routes Preferred API का अनुरोध सेट अप करें:
travel_mode
कोDRIVING
याTWO_WHEELER
पर सेट करेंrouting_preference
कोTRAFFIC_AWARE
याTRAFFIC_AWARE_OPTIMAL
पर सेट करेंVia
वेपॉइंट का इस्तेमाल न करें
दूसरा चरण: नेविगेशन SDK टूल को रूट टोकन पास करना
रास्ते का टोकन सेव करना: नेविगेशन SDK टूल में, रास्ते का टोकन सेव करने के लिए एक स्ट्रिंग सेट अप करें. उदाहरण के लिए:
String routeToken = "route token returned by Routes API";
दिखाए गए रूट टोकन का उदाहरण:
{ // Other fields "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g", }
Navigator.setDestinations
तरीके का इस्तेमाल करके, नेविगेशन SDK टूल को रास्ते का टोकन पास करें. साथ ही, मंज़िल के उन ही व्यूपॉइंट की जानकारी दें जिनका इस्तेमाल आपने रास्ते का टोकन बनाते समय किया था:setDestinations(List
destinations, CustomRoutesOptions customRoutesOptions, DisplayOptions displayOptions); उदाहरण के लिए:
CustomRoutesOptions customRoutesOptions = CustomRoutesOptions.builder() .setRouteToken(routeToken) .setTravelMode(TravelMode.DRIVING) .build();
Navigator.setDestinations
तरीका, अनुरोध की स्थिति दिखाता है. अगर यह वाहन की जगह से दी गई मंज़िल तक का रास्ता ढूंढता है, तो यहRouteStatus.OK
दिखाता है.
इस तरीके के बारे में ज़्यादा जानकारी के लिए, Navigator.setDestinations
देखें.
उदाहरण
यहां दिए गए कोड के उदाहरण में, प्लान किए गए रास्ते की जानकारी देने का तरीका बताया गया है. इसके लिए, प्लान किए गए रास्ते का टोकन इस्तेमाल किया गया है.
ArrayList <Waypoint> destinations = Lists.newArrayList();
Waypoint waypoint1 =
Waypoint.builder()
.setLatLng(10, 20)
.setTitle("title")
.setVehicleStopover(true)
.build();
destinations.add(waypoint1);
Waypoint waypoint2 =
Waypoint.builder()
.setPlaceId("ChIJYV-J-ziuEmsRIMyoFaMedU4")
.setTitle("title")
.setVehicleStopover(true)
.build()
destinations.add(waypoint2);
String routeToken = "route token returned by Routes API";
CustomRoutesOptions customRoutesOptions =
CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(TravelMode.DRIVING)
.build();
// Existing flow to get a Navigator.
NavigationApi.getNavigator(...);
// Existing flow for requesting routes.
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions);
// Or with display options.
DisplayOptions displayOptions = new DisplayOptions();
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions, displayOptions);
रूट टोकन और Navigation SDK टूल के बीच इंटरैक्शन कैसे होता है
यहां बताया गया है कि नेविगेशन SDK टूल से जनरेट किया गया रास्ता और रास्ते के टोकन में तय किया गया रास्ता, कैसे इंटरैक्ट करते हैं:
पहले से सेट किए गए किसी भी डेस्टिनेशन को ओवरराइड कर देता है.
गाड़ी की शुरुआती जगह की जानकारी का इस्तेमाल करता है.
सड़क और ट्रैफ़िक की स्थिति के हिसाब से अडजस्ट करता है. देखें कि प्लान किए गए रास्ते पर सटीक तौर पर क्यों नहीं पहुंचा जा सकता.
रूटिंग से जुड़े इन विकल्पों को अनदेखा करता है, क्योंकि ये ज़रूरी नहीं हैं:
avoidsHighways
avoidsTolls
avoidsFerries
licensePlateRestriction
फ़ॉलो किया जा रहा है:
वेंपॉइंट से जुड़े विकल्प, जैसे कि सड़क के किनारे की प्राथमिकता.
रास्ते के मकसद. अगर नेविगेशन SDK टूल को दिखाए गए रूट में बदलाव करना है, तो वह रूट टोकन का अनुरोध करते समय बताए गए रूट के मकसद का इस्तेमाल करता है. इस वजह से, आपको वेहिकल के रास्ते के उन विकल्पों का इस्तेमाल करना चाहिए जिन्हें आपने Routes API में बताया है.