रास्ते के प्लान का लाइफ़साइकल

इस पेज पर, Route Optimization API का इस्तेमाल करके रूट प्लान बनाने के बारे में बताया गया है. इसमें, रूटिंग की ज़रूरतों की पहचान करने से लेकर, आपके सिस्टम में इंटिग्रेट किए गए रूट प्लान तक की जानकारी शामिल है.

रूट प्लान के चरणों का पालन करने पर, ये लक्ष्य हासिल किए जा सकते हैं:

  • अपने फ़्लीट के ऑपरेशंस को मैप करें: अपने फ़्लीट, जटिल समस्याओं, और कारोबार के लक्ष्यों को एपीआई के लिए कोड में बदलें.
  • अपने कारोबार के लिए रूट प्लान ऑप्टिमाइज़ करना: अपने रूट प्लान को बेहतर बनाने का तरीका जानें, ताकि वह आपके लक्ष्यों को पूरा कर सके और आपके रोज़मर्रा के कामों को बेहतर बना सके.
  • प्रोडक्शन में डिप्लॉय करना: अपने रूट प्लान को रोज़मर्रा के कामों में शामिल करके लागू करें.

यहां दिए गए डायग्राम में, रूट प्लान की लाइफ़ साइकल के बारे में बताया गया है.

नीचे दिए गए टेक्स्ट में, रूट प्लान के लाइफ़साइकल का फ़्लो डायग्राम दिखाया गया है

रूट प्लान को लागू करने का फ़ेज़ तब शुरू होता है, जब एपीआई को पहली बार इंटिग्रेट किया जाता है या जब आपके कारोबार की ज़रूरतों में काफ़ी बदलाव होता है. इसमें पहले से लेकर पांचवें चरण तक की जानकारी शामिल है.

रोज़ाना के काम वाला फ़ेज़ ज़्यादा आसान होता है और इसमें बहुत कम बदलाव करने पड़ते हैं. इसमें दूसरे से लेकर चौथे चरण तक की जानकारी शामिल है.

किसी रूट की लाइफ़ के ये चरण होते हैं:

  1. अपनी समस्या का दायरा तय करें: एपीआई का इस्तेमाल शुरू करने से पहले, अपने लक्ष्यों, संसाधनों, टास्क, और सीमाओं की पहचान करें और उन्हें व्यवस्थित करें. इससे आपको अपने ऑपरेशंस की पूरी जानकारी मिल पाएगी.
  2. अपने डेटा को मैप करें: अपने कारोबार की असल स्थिति को एपीआई पैरामीटर में बदलें, ताकि रूट प्लान से यह पता चल सके कि आपको अपने वाहनों के बेड़े को कैसे चलाना है.
  3. अनुरोध करें और रूट प्लान पाएं: एपीआई में अपना डेटा डालें और ऑप्टिमाइज़ किया गया रूट प्लान पाएं.
  4. अपने रूट प्लान को बेहतर बनाएं: अपने रूट प्लान को टेस्ट करें और उसमें बदलाव करें. इसके लिए, अपनी पाबंदियों और लक्ष्यों में बदलाव करें, ताकि यह पक्का किया जा सके कि इसमें आपकी सभी ज़रूरतें शामिल हों.
  5. रूट प्लान को इंटिग्रेट करें: रूट प्लान को अपने मौजूदा सिस्टम से कनेक्ट करें, ताकि नेविगेशन की सुविधा दी जा सके.

अपनी समस्या के बारे में बताएं

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

अपने संसाधनों और टास्क की पहचान करना

रूट प्लान करते समय, अपने संसाधनों और टास्क की पहचान करना एक अहम कदम है. ये संसाधन और टास्क, आपके वाहन और शिपमेंट होते हैं.

गाड़ियां शिपमेंट
  • संख्या: आपके पास कितनी गाड़ियां हैं?
  • जगहें: वाहन कहां से शुरू होते हैं और कहां खत्म होते हैं?
  • समय: वाहनों के ड्राइवर कितने घंटे काम करते हैं?
  • क्षमता: आपके वाहनों की क्षमता क्या है?
  • लागत: आपके वाहनों के बेड़े को चलाने की लागत क्या है?
  • जगहें: पिकअप और डिलीवरी पॉइंट कहां हैं?
  • ज़रूरतें: पैकेज का वज़न या साइज़ क्या है?
  • पाबंदियां: क्या डिलीवरी के लिए कोई खास समय तय किया गया है?
  • सेवा का समय: ड्राइवर को वाहन पार्क करने और सामान उतारने में कितना समय लगता है?
  • ज़रूरी शर्तें: क्या शिपमेंट के लिए किसी खास तरह के वाहन या ड्राइवर की ज़रूरत है?

अपनी सीमाओं को पहचानें

आपकी पाबंदियां, आपके वाहनों के इस्तेमाल और शिपमेंट को मैनेज करने के तरीके पर लागू होने वाली सीमाएं और पाबंदियां हैं. इनसे आपके ज़्यादातर ऑपरेशन तय होते हैं. साथ ही, ऑप्टिमाइज़ किया गया रूट प्लान बनाते समय ये बहुत ज़रूरी होते हैं.

आम तौर पर, पाबंदियों को दो कैटगरी में बांटा जाता है:

कड़ी पाबंदियां सॉफ़्ट कंस्ट्रेंट
ये ऐसी सीमाएं हैं जिन्हें तोड़ा नहीं जा सकता. उदाहरण के लिए, कोई ट्रक अपनी क्षमता से ज़्यादा वज़न नहीं ले जा सकता. साथ ही, स्टोर बंद होने के बाद ड्राइवर, पिक-अप नहीं कर सकता. ये ऐसी प्राथमिकताएं हैं जिन्हें ज़रूरत पड़ने पर तोड़ा जा सकता है. आम तौर पर, इसके लिए पेनल्टी चुकानी पड़ती है. उदाहरण के लिए, हो सकता है कि आपको किसी ट्रक को उसकी क्षमता के सिर्फ़ 80% तक लोड करना हो या तय समय से पहले डिलीवरी करनी हो. हालांकि, बेहतर रूट पाने के लिए, इन सीमाओं को पार किया जा सकता है.

सामान्य शर्तों में ये शामिल हैं:

  • क्षमता की सीमाएं: किसी वाहन में ले जाए जा सकने वाले सामान का ज़्यादा से ज़्यादा वज़न, वॉल्यूम या संख्या.
  • टाइम विंडो: वह खास समय जब कोई जगह विज़िट के लिए खुली हो या किसी ड्राइवर की शिफ़्ट के खास घंटे.
  • लागत: वाहन चलाने या शिपमेंट को छोड़ने की लागत. इस एपीआई का एक मुख्य मकसद, कम खर्च में रूट प्लान जनरेट करना है.
  • ड्राइवर के लिए ब्रेक: आम तौर पर, लेबर कानूनों के तहत, ड्राइवर को कुछ घंटे काम करने के बाद आराम करने के लिए समय देना ज़रूरी होता है.

अपने कारोबार के लक्ष्य तय करना

अपने संसाधनों, टास्क, और उनकी सीमाओं को तय करने के बाद, यह तय करें कि आपके कारोबार के लिए कौनसी मेट्रिक सबसे अहम हैं. ये लक्ष्य, पाबंदियों के साथ-साथ चलते हैं. इनकी मदद से, आपको यह तय करने में मदद मिलती है कि रूट की योजना बनाते समय सबसे ज़्यादा क्या मायने रखता है.

कारोबार के लक्ष्यों के कुछ उदाहरण यहां दिए गए हैं:

गाड़ियों की संख्या दूरी समय लागत
क्या आपको कम से कम गाड़ियों का इस्तेमाल करना है या सभी गाड़ियों का इस्तेमाल करके, दिन का काम जल्दी खत्म करना है? क्या आपको ईंधन बचाने के लिए सबसे छोटा रास्ता चाहिए या आपको ऐसा रास्ता चाहिए जिससे मंज़िल तक जल्दी पहुंचा जा सके, भले ही वह हाइवे की वजह से लंबा हो? क्या आपको काम के कुल घंटे कम करने हैं या किसी खास समय पर पहुंचने को प्राथमिकता देनी है, जिससे रास्ते में लगने वाला समय बढ़ सकता है? क्या आपको वेतन और ईंधन जैसे परिचालन खर्चों को कम करना है या तय समयसीमा को पूरा करने के लिए ज़्यादा खर्च करना है?

अपने डेटा को मैप करना

डेटा इकट्ठा करने के बाद, उसे एपीआई की प्रॉपर्टी से मैच करने के लिए मैप करें. इससे ऑप्टिमाइज़र को सभी जानकारी मिलती है, ताकि वह आपके कारोबार की असल स्थिति को ध्यान में रखकर रूट प्लान बना सके.

अपनी समस्या का दायरा तय करें सेक्शन में मैप किए गए संसाधनों, टास्क, सीमाओं, और लक्ष्यों को मैप करने के लिए, अगली टेबल में दिए गए पैरामीटर का इस्तेमाल करें.

वैरिएबल मैपिंग

असल दुनिया से जुड़ा कॉन्सेप्ट एपीआई पैरामीटर ब्यौरा
ड्राइवर या वाहन model.vehicles[] यह आपके फ़्लीट में मौजूद किसी एक वाहन को दिखाता है.
डिपो की जगहें vehicles[].startWaypoint
vehicles[].endWaypoint
वह जगह जहां से वाहन अपना रास्ता शुरू और खत्म करता है.
आपके कारोबार के खुले होने का समय model.globalStartTime
model.globalEndTime
सभी वाहनों के लिए, सबसे पहले शुरू होने का समय और सबसे आखिर में खत्म होने का समय.
टास्क या पैकेज model.shipments[] यह किसी नौकरी को दिखाता है. यह pickup, delivery या दोनों हो सकता है.
टास्क की जगह की जानकारी pickups[].arrivalWaypoint
deliveries[].arrivalWaypoint
वह भौगोलिक जगह जहां नौकरी उपलब्ध है.
सेवा देने का समय pickups[].duration
deliveries[].duration
किसी जगह पर टास्क पूरा करने में लगने वाला समय (उदाहरण के लिए, सामान उतारना). इसमें यात्रा में लगने वाला समय शामिल नहीं है.

कंस्ट्रेंट मैपिंग

असल दुनिया में आने वाली समस्याएं एपीआई पैरामीटर ब्यौरा
वाहन की क्षमता vehicles[].loadLimits इससे वाहन की क्षमता के लिए, हार्ड या सॉफ़्ट लिमिट सेट की जाती है. अगर किसी शिपमेंट का loadDemand, बची हुई सीमा से ज़्यादा है, तो उसे असाइन नहीं किया जाता.
पैकेज का साइज़ shipments[].loadDemands शिपमेंट के लिए, वाहन की क्षमता का कितना हिस्सा इस्तेमाल किया जाता है.
वाहन से जुड़ी पाबंदी shipments[].allowedVehicleIndices इससे शिपमेंट पर पाबंदी लगाई जाती है, ताकि उसे सिर्फ़ चुनिंदा वाहन या ड्राइवर ही पिक अप या डिलीवर कर सकें.
कारोबार के खुले होने का समय shipments[].pickups[].timeWindows या shipments[].deliveries[].timeWindows इससे किसी जगह पर जाने के लिए उपलब्ध घंटे सेट किए जाते हैं. अगर कोई वाहन इस समयावधि में नहीं पहुंच पाता है, तो शिपमेंट को छोड़ दिया जाता है.
शिफ़्ट की अवधि की सीमा vehicles[].routeDurationLimit इससे यह तय किया जाता है कि कोई ड्राइवर ज़्यादा से ज़्यादा कितनी देर तक काम कर सकता है. उदाहरण के लिए, ज़्यादा से ज़्यादा आठ घंटे. यह समय, ग्लोबल एंड टाइम से अलग होता है.
ड्राइवर के ब्रेक vehicles[].breakRule आराम करने के लिए तय किए गए नियमों को लागू करता है. जैसे, कुछ घंटे काम करने के बाद ब्रेक लेना ज़रूरी है.
सड़कों पर पाबंदियों की जानकारी vehicles[].travelMode इससे यात्रा के मोड के बारे में पता चलता है. उदाहरण के लिए, DRIVE या BICYCLE. इससे, रास्ते को कानूनी तौर पर मान्य सड़कों तक सीमित किया जाता है. साथ ही, यात्रा में लगने वाले समय का हिसाब लगाने के लिए इस्तेमाल की जाने वाली स्पीड तय की जाती है.

मकसद मैप करना

असल दुनिया में इस्तेमाल एपीआई पैरामीटर ब्यौरा
गाड़ियों की संख्या कम करना vehicles[].fixedCost वाहन का इस्तेमाल करने के लिए, एक बार ली जाने वाली कीमत लागू करता है. तय की गई ज़्यादा लागत की वजह से, किसी रूट को कुल दूरी या काम करने के समय को बढ़ाने के बजाय, कम वाहनों का इस्तेमाल करने को प्राथमिकता देनी पड़ती है.
दूरी कम करना vehicles[].costPerKilometer तय किए गए हर किलोमीटर के लिए शुल्क लागू होता है. ईंधन और गाड़ी की टूट-फूट बचाने के लिए, छोटे रास्तों को प्राथमिकता देता है.
कुल समय कम करना vehicles[].costPerHour वाहन के चालू रहने के हर घंटे के लिए शुल्क लागू होता है. इसमें यात्रा और इंतज़ार का समय शामिल है. यह टास्क को तेज़ी से पूरा करने को प्राथमिकता देता है.
ड्राइव करने में लगने वाले समय को कम करना vehicles[].costPerTraveledHour यह खास तौर पर, यात्रा में लगने वाले समय के लिए शुल्क लागू करता है. इससे, ट्रैफ़िक में फंसने (ज़्यादा किराया) और स्टॉप पर इंतज़ार करने(कम किराया) के बीच अंतर पता चलता है.
कुछ टास्क को प्राथमिकता देना shipments[].penaltyCost अगर कोई शिपमेंट स्किप किया जाता है, तो शुल्क लागू होता है. इसे 'ज़्यादा' पर सेट करने से, ज़रूरी टास्क को वैकल्पिक टास्क के मुकाबले प्राथमिकता दी जाती है.

अनुरोध करना और जवाब पाना

Route Optimization API का इस्तेमाल करके रूट प्लान जनरेट करने के लिए, यह तरीका अपनाएं:

  1. अपना एनवायरमेंट कॉन्फ़िगर करें: अपना Google Cloud प्रोजेक्ट सेट अप करें, एपीआई चालू करें, और पुष्टि करने की सुविधा कॉन्फ़िगर करें. निर्देशों के लिए, शुरू करना लेख पढ़ें. आपको यह चरण सिर्फ़ एक बार पूरा करना होगा.
  2. अनुरोध भेजें: पिछले सेक्शन में बताए गए डेटा मैपिंग का इस्तेमाल करके, अनुरोध का मुख्य हिस्सा बनाएं. एंडपॉइंट, हेडर, और अनुरोध के फ़ॉर्मैट के बारे में जानने के लिए, एपीआई अनुरोध करना लेख पढ़ें.
  3. जवाब को समझना: एपीआई से जवाब मिलने के बाद, रूट प्लान और हर पैरामीटर का मतलब समझें. जवाब को समझने का तरीका देखें.

अपने रूट प्लान को बेहतर बनाना

असल दुनिया के लॉजिस्टिक को एपीआई की लागत और सीमाओं में बदलना एक मुश्किल काम है. ऐसा हो सकता है कि आपका शुरुआती रूट प्लान, आपके कारोबार के लक्ष्यों या ड्राइवर की उम्मीदों के मुताबिक न हो. अपने रूट प्लान को बेहतर बनाने के लिए, आपको बार-बार अपने रूट की जांच करनी होगी और पैरामीटर में बदलाव करना होगा. ऐसा तब तक करना होगा, जब तक आपको ऐसा सेटअप न मिल जाए जो आपके लक्ष्यों को पूरा करता हो.

मकसद और पाबंदियों में बदलाव करना

अगर जनरेट किया गया रूट प्लान आपकी ज़रूरतों के मुताबिक नहीं है, तो अलग-अलग नतीजे पाने के लिए कुछ पैरामीटर में बदलाव किया जा सकता है. पैरामीटर को सख्त या आसान बनाने से, रूट प्लान में विरोधाभासी लक्ष्यों को हल करने का तरीका बदल जाता है. साथ ही, पैरामीटर को आसान बनाना, उन पैरामीटर का पता लगाने का एक असरदार तरीका है जिनकी वजह से आपके रूट प्लान में गड़बड़ियां हो रही हैं.

यहां दी गई टेबल में, रूटिंग से जुड़ी आम समस्याएं और उन्हें हल करने के लिए अडजस्ट किए जा सकने वाले पैरामीटर की जानकारी दी गई है.

स्थिति पैरामीटर बिड में बदलाव ब्यौरा
कोई ज़रूरी शिपमेंट छूट गया है shipments[].penaltyCost इसकी वैल्यू बढ़ाएं या अन्य शिपमेंट के लिए पेनल्टी शुल्क जोड़ें अगर शिपमेंट ज़रूरी नहीं है, तो उसे प्राथमिकता देने के लिए, पेनल्टी की लागत बढ़ाएं. अगर शिपमेंट ज़रूरी है (कोई जुर्माना नहीं है), तो जुर्माने की लागत को अन्य कम ज़रूरी शिपमेंट में जोड़ें. इससे ये ज़रूरी नहीं रह जाते. इससे वाहन का समय और क्षमता, ज़रूरी शिपमेंट के लिए बच जाती है.
समय की कमी की वजह से शिपमेंट को छोड़ दिया गया softStartTime / softEndTime सॉफ़्ट टाइम विंडो जोड़ना हार्ड टाइम विंडो, एक मिनट की देरी से आने वाले टास्क को भी छोड़ देती हैं. सॉफ़्ट विंडो की मदद से, ड्राइवर को असाइनमेंट पूरा न करने के बजाय, "कीमत" चुकाकर तय समय से थोड़ा देर से पहुंचने की अनुमति मिलती है.
वज़न की वजह से शिपमेंट को स्किप किया गया loadLimits[].softMaxLoad और costPerUnitAbove सॉफ़्ट लोड की मांगें जोड़ना इसकी मदद से, किसी वाहन में उसकी क्षमता से थोड़ा ज़्यादा सामान लोड किया जा सकता है. हालांकि, इसके लिए जुर्माना देना पड़ सकता है. इससे कोई पैकेज छूटने से बच जाता है.
फ़्लीट ओवरलोड होने की वजह से शिपमेंट को स्किप किया गया model.vehicles[] या shipments[].timeWindows वाहन जोड़ें या समयसीमा में छूट दें अगर मौजूदा फ़्लीट के लिए बहुत ज़्यादा शिपमेंट हैं, तो ज़्यादा वाहन जोड़ें या डिलीवरी विंडो को बढ़ाएं, ताकि वर्कलोड को बांटा जा सके. ऐसा खास तौर पर, पीक आवर के दौरान करें.
रूट बहुत लंबे हैं या सही नहीं हैं vehicles[].costPerKilometer / costPerHour लागत जोड़ना या उनकी वैल्यू बढ़ाना इससे एपीआई को पता चलता है कि यात्रा महंगी है. इससे एपीआई, दूर और अलग-थलग जगहों को छोड़कर, वाहनों के बेड़े के लिए छोटे रास्ते बनाता है.
ड्राइवर की शिफ़्ट बहुत लंबी हैं vehicles[].routeDurationLimit या model.vehicles[] अवधि की सीमाएं जोड़ें या वाहन और सीमाएं जोड़ें ड्राइवर के लिए, सड़क पर बिताए जाने वाले कुल समय की एक तय सीमा (उदाहरण के लिए, आठ घंटे) लागू करता है. सिर्फ़ वाहन जोड़ने से रास्ते छोटे नहीं होंगे. इसके लिए, आपको समयसीमा भी लागू करनी होगी, ताकि सॉल्वर को ज़्यादा वाहनों के बीच वर्कलोड को बांटने के लिए मजबूर किया जा सके.

रूट प्लान अपडेट करना

अक्सर आपको रूट प्लान को अपडेट करना पड़ता है, लेकिन बेस को पहले जैसा ही रखना पड़ता है. जैसे, किसी ऐक्टिव ड्राइवर के शेड्यूल में पिकअप जोड़ना. ऐसा करने के लिए, इंजेक्शन पैरामीटर का इस्तेमाल करें. ये पैरामीटर, एपीआई को आपके पिछले समाधान के आधार पर शुरुआत करने की सुविधा देते हैं. इससे एपीआई, नए प्लान का हिसाब लगाने के बजाय, मौजूदा प्लान में बदलाव कर पाता है.

इंजेक्शन पैरामीटर की मदद से, रूट प्लान को अपडेट करने के अलग-अलग तरीके यहां दिए गए हैं:

  • पिछले रिस्पॉन्स से मिले रूट को अपने नए अनुरोध के injectedFirstSolutionRoutes फ़ील्ड में पास करें. इससे ऑप्टिमाइज़ेशन की खोज तेज़ हो जाती है. साथ ही, रोज़ के काम शुरू होने से पहले, फिर से प्लान बनाने में मदद मिलती है. जैसे, आखिरी समय में शिपमेंट को इंटिग्रेट करना.
  • injectedSolutionConstraint फ़ील्ड का इस्तेमाल करके, बदलाव की डिग्री को कंट्रोल करें. यह तब काम आता है, जब ऑपरेशन पहले से ही चल रहे हों. इससे आपको ड्राइवर के मौजूदा क्रम को बनाए रखने या प्लान के उन हिस्सों को ठीक करने में मदद मिलती है जिन्हें पहले ही लागू किया जा चुका है.
  • interpretInjectedSolutionsUsingLabels को true पर सेट करके, पक्का करें कि अपडेट किया गया रूट सही वाहन को असाइन किया गया हो. यह शिपमेंट और वाहनों को जोड़ने या हटाने के दौरान, एक्सपेरिमेंट करने में मददगार होता है. इसकी वजह यह है कि यह इंडेक्स के बजाय लेबल का इस्तेमाल करके रूट मैच करता है. इसके लिए, ज़रूरी है कि हर वाहन और शिपमेंट का लेबल यूनीक हो.

अपने रूट प्लान को इंटिग्रेट करना

तय किया गया रूट प्लान, एक डेटा ऑब्जेक्ट होता है. यह आपकी पाबंदियों और लक्ष्यों को ध्यान में रखते हुए, आपके संसाधनों और टास्क को ऑप्टिमाइज़ करके मैनेज करने का तरीका दिखाता है. इस रूट प्लान को अपने सिस्टम में इंटिग्रेट करके, रोज़ाना के कामों में इस्तेमाल करें. आम तौर पर, इसमें फ़्लीट मैनेजर के लिए रूट प्लान को विज़ुअलाइज़ करना और ड्राइवर को मोड़-दर-मोड़ निर्देश भेजना शामिल होता है.

विज़ुअलाइज़ेशन

फ़्लीट मैनेजर को आपके रूट प्लान की पुष्टि करने और उसकी निगरानी करने की अनुमति देने के लिए, आपके पास अपने रूट प्लान को इन तरीकों से विज़ुअलाइज़ करने का विकल्प होता है:

फ़्लीट मैनेजर को अपने रूट प्लान की पुष्टि करने और उस पर नज़र रखने की अनुमति देने के लिए, इसे डैशबोर्ड मैप पर दिखाया जा सकता है. डेवलपमेंट के मौजूदा चरण के आधार पर, रूट प्लान को इन तरीकों से विज़ुअलाइज़ किया जा सकता है:

  • कोड के बिना एक्सप्लोर करें: ओपन सोर्स Route Optimization ऐप्लिकेशन का इस्तेमाल करके, यह देखा जा सकता है कि एपीआई आपके डेटा को मैप पर असल पाथ में कैसे बदलता है. यह वेब ऐप्लिकेशन, एक एक्सप्लोरेटरी टूल के तौर पर काम करता है. इसकी मदद से, कोई भी कोड लिखने से पहले, स्थितियों को बनाया जा सकता है, पाबंदी के पैरामीटर को ट्यून किया जा सकता है, और रूट प्लान को विज़ुअल तौर पर रेंडर किया जा सकता है.
  • विज़िट का क्रम दिखाएं: अपने सिस्टम में ऑप्टिमाइज़ेशन और डिस्पैच प्लान का आकलन करने के लिए, मैप पर नंबर वाले पॉइंट के तौर पर विज़िट का क्रम दिखाया जा सकता है. इसके लिए, एपीआई से मिली जानकारी के हर रूट में visits कलेक्शन ढूंढें. इस कलेक्शन में मौजूद आइटम उसी क्रम में होते हैं जिस क्रम में ड्राइवर को उन्हें लागू करना चाहिए. इस सूची को बार-बार दोहराया जा सकता है. हर स्टॉप के लिए जगह के निर्देशांक पाने के लिए, shipmentIndex का इस्तेमाल करें. साथ ही, सूची में उनके क्रम के आधार पर मैप पर नंबर वाले मार्कर रेंडर करने के लिए, अपनी मैपिंग लाइब्रेरी का इस्तेमाल करें.
  • फ़िज़िकल रूट ड्रॉ करना: मैप पर, प्लान किए गए सटीक पाथ को विज़ुअलाइज़ किया जा सकता है. इससे यह समझने में मदद मिलती है कि ऑप्टिमाइज़र ने कोई खास क्रम क्यों चुना. यह पॉलीलाइन, प्लान बनाने और आकलन करने के लिए तय किए गए पाथ को दिखाती है. यह ड्राइवर के रीयल-टाइम रूट को नहीं दिखाती. हर रास्ते के लिए encodedPolyline फ़ील्ड पाने के लिए, अपने अनुरोध में populatePolylines: true सेट करें. इसके बाद, Maps JavaScript API के google.maps.geometry.encoding.decodePath() तरीके का इस्तेमाल करके, इसे डिकोड करें.

ड्राइवर को असाइन करना

Navigation SDK का इस्तेमाल करके, ड्राइवर के लिए बनाए गए ऐप्लिकेशन में मोड़-दर-मोड़ नेविगेशन की सुविधा को इंटिग्रेट किया जा सकता है. इसके अलावा, Google Maps के उपभोक्ता ऐप्लिकेशन के लिए डीप लिंक भी दिए जा सकते हैं.

  • Navigation SDK: अगर आपके पास ड्राइवर के लिए कोई कस्टम ऐप्लिकेशन है, तो ऐप्लिकेशन में मोड़-दर-मोड़ दिशा-निर्देश पाने के लिए, Android के लिए Navigation SDK या iOS को इंटिग्रेट किया जा सकता है. एपीआई से मिले जवाब में मौजूद टास्क की जानकारी को अपने सिस्टम में इंटिग्रेट किया जा सकता है. साथ ही, नेविगेशन के लिए एसडीके का इस्तेमाल किया जा सकता है. एपीआई से मिली जानकारी से रूट को एसडीके टूल में पास करने के लिए, अपने अनुरोध में populateTransitionPolylines: true सेट करें. इससे जवाब में हर ट्रांज़िशन के लिए, एक routeToken जनरेट होता है.
  • Fleet Engine: बेहतर तरीके से फ़्लीट मैनेज करने के लिए, एपीआई से जनरेट किए गए रूट प्लान को Fleet Engine में इंपोर्ट किया जा सकता है. इससे रीयल टाइम में रूट को मॉनिटर किया जा सकता है. एपीआई, समीक्षा के लिए तय किए गए रास्ते की पॉलीलाइन उपलब्ध कराता है. वहीं, Fleet Engine, विज़िट के आपके तय किए गए क्रम को वाहन की लाइव ट्रैकिंग के साथ जोड़ता है.