Routes Preferred API की ComputeRouteMatrix तरीके का इस्तेमाल करके, एक से ज़्यादा शुरुआती जगहों और मंज़िलों के लिए, किसी रूट की दूरी और उसमें लगने वाला समय कैलकुलेट किया जा सकता है. ComputeRouteMatrix, स्ट्रीमिंग gRPC कॉल और REST एचटीटीपी कॉल, दोनों के साथ काम करता है.
शुरुआत और मंज़िल की जगहों की सूची के आधार पर, ComputeRouteMatrix हर शुरुआत की जगह से हर मंज़िल तक के रास्ते की दूरी और उसमें लगने वाले समय का हिसाब लगाता है. स्ट्रीम का हर एलिमेंट, किसी एक रास्ते की जानकारी से मेल खाता है.
ComputeRouteMatrix तरीके के कई फ़ायदे हैं. ये फ़ायदे, Distance Matrix API (लेगसी) के मुकाबले ज़्यादा हैं:
- स्ट्रीमिंग की मदद से, पूरे मैट्रिक्स का हिसाब लगाने से पहले ही एलिमेंट दिखाए जा सकते हैं. इससे इंतज़ार का समय कम हो जाता है.
ComputeRouteMatrixमें ट्रैफ़िक का हिसाब लगाने के लिए, ज़्यादा सटीक विकल्प होते हैं. इससे आपको क्वालिटी और लेटेन्सी के बीच समझौता करने से जुड़े फ़ैसले लेने में मदद मिलती है.- अनुरोधों को Google के इन्फ़्रास्ट्रक्चर में ज़्यादा प्राथमिकता के साथ चलाया जाता है. इससे, ज़्यादा उपलब्धता मिलती है.
- वेपॉइंट के लिए, यात्रा की दिशा और सड़क के किनारे की जानकारी दी जा सकती है.
- रास्ते की दूरी और ईटीए के साथ-साथ, टोल की जानकारी पाने का अनुरोध किया जा सकता है.
ComputeRouteMatrix तरीके को चालू करना
अपने कोड में ComputeRouteMatrix तरीके का इस्तेमाल करने से पहले, आपको इसे चालू करना होगा. Routes Preferred API के तरीकों को चालू करने के बारे में ज़्यादा जानने के लिए, शुरू करना लेख पढ़ें.
ComputeRouteMatrix तरीके का इस्तेमाल करना
ComputeRouteMatrix तरीका, Routes Preferred v1 एंडपॉइंट के ज़रिए उपलब्ध है.
ज़्यादा जानकारी के लिए, यहां दिए गए दस्तावेज़ देखें:
यहां दिए गए सामान्य चरणों में, ComputeRouteMatrix तरीके को कॉल करने के लिए gRPC का इस्तेमाल करने का तरीका बताया गया है:
googleapis रिपॉज़िटरी से ज़रूरी प्रोटोबफ़र देखें:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
ध्यान दें कि कुछ बिल्ड सिस्टम, जैसे कि Go, आपके लिए यह काम अपने-आप कर सकते हैं.
अपनी पसंदीदा भाषा और बिल्ड टूल के सेट का इस्तेमाल करके, काम का प्रोटोबफ़र कोड जनरेट करें.
अपना अनुरोध जनरेट करें. अनुरोध के साथ, दो ज़रूरी मेटाडेटा भेजने होंगे:
- X-Goog-Api-Key को आपके एपीआई पासकोड पर सेट किया जाना चाहिए.
X-Goog-Fieldmask को उन फ़ील्ड की कॉमा लगाकर अलग की गई सूची पर सेट करना होगा जिनकी आपको जवाब में ज़रूरत है. उदाहरण के लिए, X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. सभी फ़ील्ड को दिखाने के लिए, वाइल्डकार्ड कैरेक्टर (*) का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करने का सुझाव नहीं दिया जाता. एपीआई रिस्पॉन्स को टेस्ट करने और समझने के लिए, वाइल्डकार्ड वर्ण का इस्तेमाल करें. हालांकि, अपने प्रोडक्शन कोड में फ़ील्ड मास्क में शामिल किए जाने वाले फ़ील्ड की सूची साफ़ तौर पर दें.
फ़ील्ड मास्क स्ट्रिंग बनाने के तरीके के बारे में ज़्यादा जानने के लिए, https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto पर जाएं. ध्यान दें कि जिन फ़ील्ड की आपको ज़रूरत नहीं है उन्हें बंद करने से, इंतज़ार का समय कम हो सकता है. ऐसा इसलिए, क्योंकि उन फ़ील्ड के लिए ज़्यादा कंप्यूटेशन की ज़रूरत पड़ सकती है. अगर आपको जिन फ़ील्ड की ज़रूरत है उन्हें तय कर दिया जाता है और बाद में ऐसे नए फ़ील्ड जोड़े जाते हैं जिनके लिए ज़्यादा कंप्यूटेशन की ज़रूरत होती है, तो आपकी लेटेन्सी स्थिर रहेगी.
अपना अनुरोध
routespreferred.googleapis.com:443पर भेजें.आपको टीएलएस प्रोटोकॉल का इस्तेमाल करना होगा.
ComputeRouteMatrix तरीके के इस्तेमाल के उदाहरणों के लिए, रास्ता मैट्रिक्स (बीटा) कैलकुलेट करने के उदाहरण देखें.
ComputeRouteMatrix तरीके की एक खास बात यह है कि गड़बड़ी के कोड, पूरी स्ट्रीम या अलग-अलग एलिमेंट के लिए दिखाए जा सकते हैं. उदाहरण के लिए, अगर अनुरोध गलत तरीके से किया गया है (जैसे, इसमें कोई ऑरिजिन नहीं है), तो स्ट्रीम कनेक्शन में गड़बड़ी दिखेगी. हालांकि, अगर कोई गड़बड़ी स्ट्रीम के सिर्फ़ कुछ एलिमेंट पर लागू होती है (उदाहरण के लिए, किसी जगह के लिए अमान्य जगह का आईडी सेट करना), तो गड़बड़ी से प्रभावित होने वाले एलिमेंट में ही गड़बड़ी के कोड शामिल होते हैं.
स्ट्रीम से मिले एलिमेंट, किसी भी क्रम में मिल सकते हैं. इस वजह से, हर एलिमेंट में एक origin_index और एक destination_index होता है. अनुरोध में बताई गई यात्रा शुरू करने की जगहों और मंज़िलों के लिए, रूट की शुरुआत की जगह, किसी दिए गए एलिमेंट के लिए origins[origin_index] के बराबर होती है. वहीं, रूट की मंज़िल, destinations[destination_index] के बराबर होती है. इन ऐरे को ज़ीरो से इंडेक्स किया जाता है. यह कुकी, मूल और डेस्टिनेशन की सूची के क्रम को सेव करती है.
टोल के शुल्क का हिसाब लगाना
टोल शुल्क का हिसाब लगाने के बारे में जानने के लिए, टोल शुल्क का हिसाब लगाना लेख पढ़ें.
टोल के हिसाब लगाने के उदाहरणों के लिए, रास्ते की मैट्रिक्स का हिसाब लगाने के उदाहरण देखें.