इस पेज पर, रूट ऑप्टिमाइज़ेशन एपीआई का इस्तेमाल करके रूट प्लान बनाने की प्रोसेस के बारे में बताया गया है. इसमें, रूटिंग की ज़रूरतों का पता लगाने से लेकर, आपके सिस्टम में इंटिग्रेट किए गए रूट प्लान तक की जानकारी शामिल है.
रूट प्लान के चरणों को पूरा करके, ये लक्ष्य हासिल किए जा सकते हैं:
- अपने फ़्लीट ऑपरेशन को मैप करें: अपनी फ़िजिकल फ़्लीट, मुश्किल शर्तों, और कारोबार के लक्ष्यों को एपीआई के लिए कोड में बदलें.
- अपने कारोबार के लिए रूट प्लान को ऑप्टिमाइज़ करें: जानें कि अपने रूट प्लान को कैसे बेहतर बनाया जाए, ताकि यह आपके लक्ष्यों को पूरा कर सके और आपके रोज़मर्रा के कामों को बेहतर बना सके.
- प्रोडक्शन में डिप्लॉय करें: अपने रूट प्लान को लागू करें. इसके लिए, इसे अपने रोज़मर्रा के कामों में शामिल करें.
इस डायग्राम में, रूट प्लान के लाइफ़साइकल के बारे में बताया गया है.
रूट प्लान का लागू करने का चरण तब होता है, जब पहली बार एपीआई को इंटिग्रेट किया जाता है या जब आपके कारोबार की ज़रूरतों में काफ़ी बदलाव होता है. इसमें पहले से लेकर पांचवें चरण तक की जानकारी शामिल होती है.
रोज़मर्रा के कामों के चरण में कम काम होता है और इसमें सुधार बहुत कम होता है. इसमें दूसरे से चौथे चरण तक की जानकारी शामिल होती है.
किसी रूट के ये चरण होते हैं:
- अपनी समस्या का दायरा तय करें: एपीआई का इस्तेमाल शुरू करने से पहले, अपने लक्ष्यों, संसाधनों, कामों, और सीमाओं की पहचान करें और उन्हें व्यवस्थित करें, ताकि आपको अपने ऑपरेशंस के बारे में पूरी जानकारी मिल सके.
- अपने डेटा को मैप करें: अपने कारोबार की ज़रूरतों के हिसाब से, एपीआई पैरामीटर में बदलाव करें. इससे रूट प्लान में यह दिखेगा कि आपको अपने फ़्लीट को कैसे ऑपरेट करना है.
- अनुरोध करना और रूट प्लान पाना: एपीआई में अपना डेटा डालें और ऑप्टिमाइज़ किया गया रूट प्लान पाएं.
- अपने रूट प्लान को बेहतर बनाएं: अपने रूट प्लान को टेस्ट करें और उसमें बदलाव करें. इसके लिए, अपनी सीमाओं और लक्ष्यों में बदलाव करें, ताकि यह पक्का किया जा सके कि प्लान में आपकी सभी ज़रूरतें शामिल हैं.
- रूट प्लान को इंटिग्रेट करें: रूट प्लान को अपने मौजूदा सिस्टम से कनेक्ट करें, ताकि नेविगेशन की सुविधा का इस्तेमाल किया जा सके.
अपनी समस्या के बारे में जानकारी देना
एपीआई का इस्तेमाल करने से पहले, आपको अपने रोज़मर्रा के कामों की जानकारी को डेटा की कैटगरी में व्यवस्थित करना होगा. इससे आपको यह समझने में मदद मिलती है कि आपके मौजूदा संसाधन और टास्क क्या हैं, उन पर क्या पाबंदियां हैं, और आपको अपने फ़्लीट से कौनसे लक्ष्य हासिल करने हैं. इससे आपको लागू करने की प्रोसेस शुरू करने में मदद मिलती है.
अपने संसाधनों और टास्क की पहचान करना
रूट प्लान बनाते समय, यह जानना ज़रूरी है कि आपके पास कौन-कौनसे संसाधन हैं और आपको कौन-कौनसे काम करने हैं. संसाधन से हमारा मतलब वाहनों और शिपमेंट से है.
| वाहन | शिपमेंट |
|---|---|
|
|
अपनी सीमाओं की पहचान करना
आपकी पाबंदियां, वाहनों के इस्तेमाल और शिपमेंट को हैंडल करने से जुड़ी सीमाएं और शर्तें होती हैं. ये आपकी ज़्यादातर कार्रवाइयों को तय करते हैं. साथ ही, ऑप्टिमाइज़ किया गया रूट प्लान बनाने के लिए ज़रूरी होते हैं.
पाबंदियों को आम तौर पर दो कैटगरी में बांटा जाता है:
| कड़ी शर्तें | सॉफ़्ट कंस्ट्रेंट |
|---|---|
| ये ऐसी सीमाएं हैं जिनका उल्लंघन नहीं किया जा सकता. उदाहरण के लिए, कोई ट्रक अपनी क्षमता से ज़्यादा सामान नहीं ले जा सकता. साथ ही, कोई ड्राइवर स्टोर बंद होने के बाद पिक-अप नहीं कर सकता. | ये ऐसी प्राथमिकताएं हैं जिनका उल्लंघन किया जा सकता है. हालांकि, ऐसा करने पर आम तौर पर जुर्माना लगता है. उदाहरण के लिए, हो सकता है कि आपको ट्रक में सिर्फ़ 80% सामान लोड करना हो या टारगेट समय से पहले डिलीवरी करनी हो. हालांकि, बेहतर रूट पाने के लिए, इन सीमाओं को पार करने में आपको कोई समस्या नहीं है. |
सामान्य शर्तों में ये शामिल हैं:
- क्षमता की सीमाएं: किसी वाहन में ले जाए जा सकने वाले सामान का ज़्यादा से ज़्यादा वज़न, वॉल्यूम या संख्या.
- समयसीमा: किसी जगह के खुले होने का समय या ड्राइवर की ड्यूटी का समय.
- लागत: वाहन चलाने या शिपमेंट को स्किप करने की लागत. एपीआई का मुख्य लक्ष्य, किफ़ायती रूट प्लान जनरेट करना है.
- ड्राइवर के ब्रेक: आम तौर पर, श्रम कानूनों के तहत ड्राइवर को कुछ घंटे काम करने के बाद आराम करने के लिए ब्रेक देना ज़रूरी होता है.
अपने कारोबार के लक्ष्य तय करना
संसाधन, टास्क, और उनकी सीमाएं तय करने के बाद, अब यह तय करने का समय है कि आपके कारोबार के लिए कौनसी मेट्रिक सबसे ज़्यादा ज़रूरी हैं. ये लक्ष्य, पाबंदियों के साथ-साथ चलते हैं. इनसे आपको यह तय करने में मदद मिलती है कि किसी रास्ते की योजना बनाते समय, सबसे ज़्यादा ज़रूरी क्या है.
कारोबार के लक्ष्यों के कुछ उदाहरण यहां दिए गए हैं:
| गाड़ियों की संख्या | दूरी | समय | लागत |
|---|---|---|---|
| क्या आपको इस्तेमाल किए जाने वाले वाहनों की संख्या कम करनी है या काम के दिन को जल्दी खत्म करने के लिए, अपने पूरे फ़्लीट का इस्तेमाल करना है? | क्या आपको ईंधन बचाने के लिए सबसे छोटा रास्ता चाहिए या आपको ऐसा रास्ता चाहिए जिस पर हाइवे का इस्तेमाल किया गया हो और जो लंबा होने के बावजूद कम समय में पूरा हो जाए? | क्या आपको काम के कुल घंटों को कम करना है या किसी खास समय पर पहुंचने को प्राथमिकता देनी है? ऐसा करने से, रास्ते में लगने वाला समय बढ़ सकता है. | क्या आपको मज़दूरी और ईंधन जैसे परिचालन खर्च कम करने हैं या समयसीमा को पूरा करने के लिए ज़्यादा खर्च करना है? |
अपने डेटा को मैप करना
डेटा इकट्ठा करने के बाद, उसे एपीआई की प्रॉपर्टी से मैच करने के लिए मैप करें. इससे ऑप्टिमाइज़र को पूरी जानकारी मिलती है, ताकि वह ऐसा रूट प्लान बना सके जो आपके कारोबार की ज़रूरतों के हिसाब से हो.
अगली टेबल में दिए गए पैरामीटर का इस्तेमाल करके, उन संसाधनों, टास्क, शर्तों, और लक्ष्यों को मैप करें जिन्हें आपने अपनी समस्या का दायरा तय करें सेक्शन में मैप किया था.
वैरिएबल मैपिंग
| असल दुनिया से जुड़ा कॉन्सेप्ट | एपीआई पैरामीटर | ब्यौरा |
|---|---|---|
| ड्राइवर या वाहन | model.vehicles[] |
इससे आपके फ़्लीट में मौजूद किसी एक वाहन के बारे में पता चलता है. |
| डिपो की जगहें |
vehicles[].startWaypointvehicles[].endWaypoint
|
वह जगह जहां से वाहन का रास्ता शुरू होता है और जहां वह खत्म होता है. |
| आपके कारोबार के खुले होने का समय |
model.globalStartTimemodel.globalEndTime
|
पूरे फ़्लीट के लिए, सबसे पहले शुरू होने और सबसे बाद में खत्म होने का समय. |
| टास्क या पैकेज | model.shipments[] |
यह किसी नौकरी के बारे में बताता है. यह pickup, delivery या दोनों हो सकता है. |
| टास्क की जगह की जानकारी |
pickups[].arrivalWaypointdeliveries[].arrivalWaypoint
|
वह भौगोलिक जगह जहां काम किया जाता है. |
| सेवा में लगने वाला समय |
pickups[].durationdeliveries[].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 |
अगर किसी शिपमेंट को स्किप किया जाता है, तो यह एट्रिब्यूट लागत लागू करता है. इसे ज़्यादा पर सेट करने से, ज़रूरी टास्क को वैकल्पिक टास्क के मुकाबले ज़्यादा प्राथमिकता दी जाती है. |
अनुरोध बनाना और जवाब पाना
रास्ते को ऑप्टिमाइज़ करने वाले एपीआई का इस्तेमाल करके, रूट प्लान जनरेट करने के लिए यह तरीका अपनाएं:
- अपना एनवायरमेंट कॉन्फ़िगर करें: अपना Google Cloud प्रोजेक्ट सेट अप करें, एपीआई चालू करें, और पुष्टि करने की सुविधा कॉन्फ़िगर करें. निर्देशों के लिए, शुरू करना लेख पढ़ें. आपको यह चरण सिर्फ़ एक बार पूरा करना होगा.
- अनुरोध भेजें: पिछले सेक्शन में तय की गई डेटा मैपिंग का इस्तेमाल करके, अनुरोध का मुख्य हिस्सा बनाएं. एंडपॉइंट, हेडर, और अनुरोध के फ़ॉर्मैट के बारे में जानकारी के लिए, एपीआई अनुरोध करना लेख पढ़ें.
- जवाब को समझें: एपीआई से जवाब मिलने के बाद, रूट प्लान को समझें. साथ ही, यह भी समझें कि हर पैरामीटर का क्या मतलब है. जवाब को समझना लेख पढ़ें.
अपने रूट प्लान को बेहतर बनाना
लॉजिस्टिक्स की असल दुनिया की समस्याओं को एपीआई की लागत और सीमाओं में बदलना एक मुश्किल काम है. ऐसा हो सकता है कि रूट प्लान, आपके कारोबार के लक्ष्यों या ड्राइवर की उम्मीदों के मुताबिक न हो. अपने रूट प्लान को बेहतर बनाने के लिए, आपको कई बार रूट की जांच करनी होगी. साथ ही, अपने पैरामीटर में तब तक बदलाव करना होगा, जब तक आपको ऐसा सेटअप न मिल जाए जो आपके लक्ष्यों को पूरा करता हो.
लक्ष्यों और शर्तों में बदलाव करना
अगर जनरेट किया गया रूट प्लान आपकी ज़रूरतों के मुताबिक नहीं है, तो अलग-अलग नतीजे पाने के लिए कुछ पैरामीटर में बदलाव किया जा सकता है. पैरामीटर को कम या ज़्यादा करने से, रूट प्लान में टकराव वाले लक्ष्यों को हल करने का तरीका बदल जाता है. साथ ही, पैरामीटर को ज़्यादा करने से, उन पैरामीटर का पता लगाया जा सकता है जिनकी वजह से आपके रूट प्लान में गड़बड़ियां हो रही हैं.
यहां दी गई टेबल में, राउटिंग से जुड़ी सामान्य समस्याओं और उन्हें ठीक करने के लिए अडजस्ट किए जा सकने वाले पैरामीटर की सूची दी गई है.
| स्थिति | पैरामीटर | बिड में बदलाव | ब्यौरा |
|---|---|---|---|
| कोई ज़रूरी शिपमेंट छूट गया है | shipments[].penaltyCost |
इसकी वैल्यू बढ़ाएं या अन्य शिपमेंट के लिए जुर्माने के तौर पर लिए जाने वाले शुल्क जोड़ें | अगर शिपमेंट करना ज़रूरी नहीं है, तो इसे प्राथमिकता देने के लिए, इसके जुर्माने की लागत बढ़ाएं. अगर शिपमेंट करना ज़रूरी है (शिपमेंट न करने पर कोई जुर्माना नहीं लगता), तो अन्य, कम ज़रूरी शिपमेंट के लिए जुर्माने का शुल्क जोड़ें. इससे उन्हें वैकल्पिक बना दिया जाता है. इससे वाहन का समय और क्षमता, ज़रूरी शिपमेंट के लिए उपलब्ध हो जाती है. |
| समय पर न पहुंचने की वजह से शिपमेंट रोक दिया गया | softStartTime / softEndTime |
सॉफ़्ट टाइम विंडो जोड़ना | टाइम विंडो के खत्म होने के बाद, एक मिनट की देरी होने पर भी टास्क को ड्रॉप कर दिया जाता है. सॉफ़्ट विंडो की सुविधा की मदद से, ड्राइवर को असाइनमेंट पूरा न करने के बजाय, "शुल्क" चुकाकर तय समय से थोड़ा पहले या बाद में पहुंचने की अनुमति मिलती है. |
| वज़न की वजह से शिपमेंट रोक दिया गया है | loadLimits[].softMaxLoad और costPerUnitAbove |
सॉफ़्ट लोड की मांगें जोड़ना | इस सुविधा की मदद से, वाहन में एक पैकेज ज़्यादा रखा जा सकता है. हालांकि, इसके लिए जुर्माना देना पड़ता है. |
| फ़्लीट में ज़्यादा सामान होने की वजह से शिपमेंट नहीं किया जा सका | model.vehicles[] या shipments[].timeWindows |
वाहन जोड़ना या समयसीमा बढ़ाना | अगर मौजूदा फ्लीट के लिए बहुत ज़्यादा शिपमेंट हैं, तो खास तौर पर व्यस्त समय के दौरान, ज़्यादा गाड़ियां जोड़ें या डिलीवरी के समय को बढ़ाएं, ताकि वर्कलोड को कम किया जा सके. |
| रास्ते बहुत लंबे हैं या ठीक नहीं हैं | vehicles[].costPerKilometer / costPerHour |
लागत जोड़ना या उनकी वैल्यू बढ़ाना | इस विकल्प से एपीआई को यह जानकारी मिलती है कि यात्रा महंगी है. इससे एपीआई, दूर-दराज के स्टॉप को हटाकर फ्लीट के लिए छोटे रास्ते बनाता है. |
| ड्राइवर की ड्यूटी बहुत लंबी है | vehicles[].routeDurationLimit या model.vehicles[] |
इस्तेमाल करने की समयसीमा तय करें या वाहन और सीमाएं जोड़ें | इससे ड्राइवर के सड़क पर बिताए गए कुल समय पर एक तय सीमा (उदाहरण के लिए, आठ घंटे) लागू होती है. सिर्फ़ वाहन जोड़ने से रास्ते छोटे नहीं होंगे. इसके लिए, आपको समयसीमाएं भी लागू करनी होंगी, ताकि सॉल्वर को ज़्यादा फ्लीट में वर्कलोड को बांटने के लिए मजबूर किया जा सके. |
रूट प्लान अपडेट करना
आपको अक्सर रूट प्लान अपडेट करने की ज़रूरत पड़ती है. हालांकि, इस दौरान आपको बेस को एक जैसा रखना होता है. जैसे, किसी ड्राइवर के शेड्यूल में पिकअप की जानकारी जोड़ना. इसके लिए, इंजेक्शन पैरामीटर का इस्तेमाल करें. ये पैरामीटर, एपीआई को आपके पिछले समाधान के आधार पर शुरुआत करने की सुविधा देते हैं. इससे एपीआई, नए प्लान का हिसाब लगाने के बजाय मौजूदा प्लान में बदलाव कर पाता है.
इंजेक्शन पैरामीटर का इस्तेमाल करके, रूट प्लान को अपडेट करने के अलग-अलग तरीके यहां दिए गए हैं:
- पिछले जवाब से मिले रास्तों को अपने नए अनुरोध के
injectedFirstSolutionRoutesफ़ील्ड में पास करें. इससे ऑप्टिमाइज़ेशन की खोज तेज़ी से होती है. साथ ही, रोज़मर्रा के काम शुरू होने से पहले फिर से प्लान बनाने में मदद मिलती है. जैसे, आखिरी समय में शिपमेंट को इंटिग्रेट करना. injectedSolutionConstraintफ़ील्ड का इस्तेमाल करके, बदलाव की डिग्री को कंट्रोल करें. यह तब काम आता है, जब ऑपरेशन पहले से चल रहे हों. इससे आपको ड्राइवर के मौजूदा क्रम को बनाए रखने या प्लान के उन हिस्सों को ठीक करने में मदद मिलती है जिन्हें पहले ही पूरा किया जा चुका है.interpretInjectedSolutionsUsingLabelsएट्रिब्यूट की वैल्यू कोtrueपर सेट करके, यह पक्का करें कि अपडेट किया गया रूट, सही वाहन को असाइन किया गया हो. शिपमेंट और वाहनों को जोड़ने या हटाने के दौरान, यह सुविधा एक्सपेरिमेंट के लिए फ़ायदेमंद होती है. ऐसा इसलिए, क्योंकि यह इंडेक्स के बजाय लेबल का इस्तेमाल करके रास्तों का मिलान करती है. इसके लिए, सभी वाहन और शिपमेंट के लेबल यूनीक होने चाहिए.
अपने रूट प्लान को इंटिग्रेट करना
आपका फ़ाइनल रूट प्लान एक डेटा ऑब्जेक्ट होता है. यह आपके संसाधनों और टास्क को ऑप्टिमाइज़ तरीके से मैनेज करने के लिए बनाया जाता है. इसमें आपकी पाबंदियों और लक्ष्यों का भी ध्यान रखा जाता है. इस रूट प्लान को अपने सिस्टम में इंटिग्रेट करके, रोज़ाना के कामों में इसका इस्तेमाल करें. इसमें आम तौर पर, फ़्लीट मैनेजर के लिए रूट प्लान को विज़ुअलाइज़ करना और ड्राइवर को मोड़-दर-मोड़ निर्देश भेजना शामिल होता है.
विज़ुअलाइज़ेशन
फ़्लीट मैनेजर को अपने रूट प्लान की पुष्टि करने और उसे मॉनिटर करने की अनुमति देने के लिए, अपने रूट प्लान को इन तरीकों से विज़ुअलाइज़ किया जा सकता है:
फ़्लीट मैनेजर को अपने रूट प्लान की पुष्टि करने और उसे मॉनिटर करने की अनुमति देने के लिए, उसे डैशबोर्ड मैप पर दिखाया जा सकता है. डेवलपमेंट के मौजूदा चरण के आधार पर, अपने रूट प्लान को इन तरीकों से विज़ुअलाइज़ किया जा सकता है:
- कोड के बिना एक्सप्लोर करें: ओपन-सोर्स रूट ऑप्टिमाइज़ेशन ऐप्लिकेशन का इस्तेमाल करके यह देखा जा सकता है कि एपीआई, आपके डेटा को मैप पर फ़िज़िकल पाथ में कैसे बदलता है. यह वेब ऐप्लिकेशन, एक्सप्लोरेटरी टूल के तौर पर काम करता है. इसकी मदद से, अलग-अलग स्थितियां बनाई जा सकती हैं, कंस्ट्रेंट पैरामीटर को ट्यून किया जा सकता है, और कोई भी कोड लिखने से पहले, रास्ते के प्लान को विज़ुअलाइज़ किया जा सकता है.
- विज़िट का क्रम दिखाएं: विज़िट के क्रम को मैप पर नंबर वाले पॉइंट के तौर पर दिखाया जा सकता है. इससे, अपने सिस्टम में ऑप्टिमाइज़ेशन और डिस्पैच प्लान का आकलन किया जा सकता है. इसके लिए, एपीआई रिस्पॉन्स के हर रूट में मौजूद
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, यात्रा के लिए तय किए गए क्रम को वाहन की लाइव ट्रैकिंग के साथ जोड़ता है.