Routes Preferred API के ComputeRouteMatrix तरीके का इस्तेमाल करके, शुरुआत की कई जगहों से अलग-अलग मंज़िलों तक के रास्ते की दूरी और उसमें लगने वाले समय का हिसाब लगाया जा सकता है. ComputeRouteMatrix, स्ट्रीमिंग gRPC कॉल और REST एचटीटीपी कॉल, दोनों के साथ काम करता है.
शुरुआत की जगह और मंज़िल के जोड़ों की सूची के आधार पर, ComputeRouteMatrix
शुरुआत की हर जगह से शुरू होने वाले और हर मंज़िल पर खत्म होने वाले रास्ते की दूरी और अवधि का हिसाब लगाता है. स्ट्रीम का हर एलिमेंट, किसी एक रास्ते की जानकारी से मेल खाता है.
Distance Matrix API (लेगसी) की तुलना में, ComputeRouteMatrix तरीके के कई फ़ायदे हैं:
- स्ट्रीमिंग की मदद से, पूरी मैट्रिक्स का हिसाब लगाने से पहले ही एलिमेंट दिखाए जा सकते हैं. इससे इंतज़ार का समय कम हो जाता है.
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] के बराबर होती है. ये ऐरे, ज़ीरो-इंडेक्स होते हैं. यह ज़रूरी है कि सोर्स और डेस्टिनेशन की सूचियों के क्रम को सेव किया जाए.
टोल टैक्स का हिसाब लगाना
टोल शुल्क का हिसाब लगाने के बारे में जानने के लिए, टोल शुल्क का हिसाब लगाना लेख पढ़ें.
टोल शुल्क का हिसाब लगाने के उदाहरणों के लिए, रूट मैट्रिक्स का हिसाब लगाने के उदाहरण देखें.