रूट Preferred API के ComputeRouteMatrix
तरीके का इस्तेमाल करके, एक से ज़्यादा ऑरिजिन और डेस्टिनेशन के लिए, किसी रूट की दूरी और अवधि का हिसाब लगाया जा सकता है. ComputeRouteMatrix
पर, gRPC कॉल और REST एचटीटीपी कॉल, दोनों स्ट्रीम किए जा सकते हैं.
ऑरिजिन और डेस्टिनेशन पेयर की सूची दिए जाने पर, ComputeRouteMatrix
हर ऑरिजिन से शुरू होकर हर डेस्टिनेशन पर खत्म होने वाले रास्ते की दूरी और अवधि का हिसाब लगाता है. स्ट्रीम का हर एलिमेंट एक रूट की जानकारी से मेल खाता है.
दूरी मैट्रिक्स सेवा के मुकाबले ComputeRouteMatrix
तरीके के कई फ़ायदे हैं:
- स्ट्रीमिंग की मदद से एलिमेंट को पूरे मैट्रिक्स की गणना होने से पहले ही वापस दिखाया जा सकता है. इससे इंतज़ार में लगने वाला समय कम हो जाता है.
ComputeRouteMatrix
में ट्रैफ़िक का हिसाब लगाने के लिए, बेहतर विकल्प हैं. इनसे, 'वीडियो स्ट्रीम होने और उसके दिखने के समय का अंतर' सेटिंग में बदलाव करने के फ़ैसले लिए जा सकते हैं.- Google के इन्फ़्रास्ट्रक्चर में अनुरोधों को ज़्यादा प्राथमिकता दी जाती है. इस वजह से, ज़्यादा सुविधाएं मिलती हैं.
- वेपॉइंट के लिए, हेडिंग (यात्रा की दिशा) और सड़क के किनारे की जानकारी दी जा सकती है.
- टोल की जानकारी के लिए अनुरोध किया जा सकता है. इसमें रास्ते की दूरी और पहुंचने के अनुमानित समय की जानकारी शामिल होती है.
ComputeRouteMatrix का तरीका चालू करना
अपने कोड में ComputeRouteMatrix
तरीके का इस्तेमाल करने से पहले, आपको इसे चालू करना होगा. रूट पसंदीदा एपीआई के तरीकों को चालू करने के बारे में ज़्यादा जानकारी के लिए, शुरू करना देखें.
ComputeRouteMatrix तरीके का इस्तेमाल करना
ComputeRouteMatrix
का तरीका, रूट के लिए सुझाए गए
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
को भेजें.आपको TLS प्रोटोकॉल का इस्तेमाल करना होगा.
ComputeRouteMatrix
तरीके का इस्तेमाल करने के उदाहरणों के लिए, रूट मैट्रिक्स (बीटा) की गिनती करने के उदाहरण देखें.
ComputeRouteMatrix
तरीके की एक खास सुविधा यह है कि गड़बड़ी के कोड पूरी स्ट्रीम या अलग-अलग एलिमेंट के लिए दिखाए जा सकते हैं. उदाहरण के लिए, अगर अनुरोध गलत तरीके से किया गया है,
तो स्ट्रीम कनेक्शन गड़बड़ी वाला मैसेज दिखाता है. उदाहरण के लिए, इसका कोई ऑरिजिन नहीं है. हालांकि, अगर स्ट्रीम के कुछ ही एलिमेंट में कोई गड़बड़ी होती है (उदाहरण के लिए, किसी ऑरिजिन के लिए अमान्य प्लेस आईडी सेट करना), तो सिर्फ़ उन एलिमेंट में गड़बड़ी के कोड शामिल होते हैं जिन पर गड़बड़ी का असर हुआ है.
स्ट्रीम से लौटाए गए एलिमेंट के किसी भी क्रम में
वापस आने की गारंटी नहीं है. इस वजह से, हर एलिमेंट में एक origin_index
और destination_index
होता है. अनुरोध में बताए गए ऑरिजिन और डेस्टिनेशन के लिए, रूट ऑरिजिन, दिए गए एलिमेंट के लिए origins[origin_index]
के बराबर होता है और रूट डेस्टिनेशन destinations[destination_index]
के बराबर होता है. इन सरणियों को इंडेक्स नहीं किया जाता. ऑरिजिन और डेस्टिनेशन की सूची के ऑर्डर को स्टोर करना ज़रूरी होता है.
टोल शुल्क का हिसाब लगाया जा रहा है
टोल शुल्क का हिसाब लगाने के बारे में जानकारी पाने के लिए, टोल शुल्क का हिसाब लगाना देखें.
टोल शुल्क का हिसाब लगाने के उदाहरण देखने के लिए, रूट मैट्रिक्स का हिसाब लगाने के उदाहरण देखें.