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

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