रूट मैट्रिक्स की गणना करें

Routes Preferred API के ComputeRouteMatrix तरीके का इस्तेमाल करके, एक से ज़्यादा ऑरिजिन और डेस्टिनेशन के लिए, किसी रास्ते की दूरी और यात्रा में लगने वाले समय का हिसाब लगाया जा सकता है. ComputeRouteMatrix, स्ट्रीमिंग gRPC कॉल और REST एचटीटीपी कॉल, दोनों के साथ काम करता है.

ऑरिजिन और डेस्टिनेशन के जोड़े की सूची के आधार पर, ComputeRouteMatrix हर ऑरिजिन से शुरू होकर हर डेस्टिनेशन पर खत्म होने वाले रास्ते की दूरी और समय का हिसाब लगाता है. स्ट्रीम का हर एलिमेंट, किसी एक रास्ते की जानकारी से जुड़ा होता है.

ComputeRouteMatrix तरीके के मुकाबले, डिस्टेंस मैट्रिक सेवा के कई फ़ायदे हैं:

  • स्ट्रीमिंग की मदद से, पूरे मैट्रिक का हिसाब लगाने से पहले ही एलिमेंट दिखाए जा सकते हैं. इससे इंतज़ार का समय कम हो जाता है.
  • ComputeRouteMatrix में ट्रैफ़िक का हिसाब लगाने के लिए बेहतर विकल्प हैं. इससे, आपको क्वालिटी और इंतज़ार के समय के बीच समझौता करने के फ़ैसले लेने में मदद मिलती है.
  • Google के इन्फ़्रास्ट्रक्चर में अनुरोधों को ज़्यादा प्राथमिकता दी जाती है. इससे, अनुरोधों को पूरा करने में कम समय लगता है.
  • व्यू पॉइंट के लिए, हेडिंग (यात्रा की दिशा) और सड़क के किनारे की जानकारी दी जा सकती है.
  • रास्ते की दूरी और ETA के साथ-साथ, टोल की जानकारी वापस पाने का अनुरोध किया जा सकता है.

ComputeRouteMatrix तरीका चालू करना

अपने कोड में ComputeRouteMatrix तरीके का इस्तेमाल करने से पहले, आपको इसे चालू करना होगा. Routes Preferred API के तरीकों को चालू करने के बारे में ज़्यादा जानकारी के लिए, शुरू करना देखें.

ComputeRouteMatrix तरीके का इस्तेमाल करना

ComputeRouteMatrix तरीका, Routes Preferred v1 एंडपॉइंट के ज़रिए उपलब्ध है.

ज़्यादा जानकारी के लिए, यहां दिए गए दस्तावेज़ देखें:

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

यहां दिए गए सामान्य चरणों में, ComputeRouteMatrix तरीके को कॉल करने के लिए gRPC का इस्तेमाल करने का तरीका बताया गया है:

  1. googleapis रिपॉज़िटरी से ज़रूरी प्रोटोबबल देखें:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    ध्यान दें कि Go जैसे कुछ बिल्ड सिस्टम, आपके लिए अपने-आप ऐसा कर सकते हैं.

  2. अपनी पसंदीदा भाषा और बिल्ड टूल के सेट का इस्तेमाल करके, काम का प्रोटोबबल कोड जनरेट करें.

  3. अपना अनुरोध जनरेट करें. अनुरोध के साथ, मेटाडेटा के ये दो ज़रूरी हिस्से भेजने होंगे:

    • 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 देखें. ध्यान दें कि जिन फ़ील्ड की आपको ज़रूरत नहीं है उन्हें बंद करने से, इंतज़ार का समय कम हो सकता है. ऐसा इसलिए, क्योंकि उन फ़ील्ड के लिए, कैलकुलेशन की ज़रूरत पड़ सकती है. अगर आपने ज़रूरी फ़ील्ड तय किए हैं और ऐसे नए फ़ील्ड बाद में जोड़े जाते हैं जिनके लिए ज़्यादा हिसाब लगाना पड़ता है, तो आपका इंतज़ार का समय स्थिर रहेगा.

  4. अपना अनुरोध routespreferred.googleapis.com:443 पर भेजें.आपको टीएलएस प्रोटोकॉल का इस्तेमाल करना होगा.

ComputeRouteMatrix तरीके का इस्तेमाल करने के उदाहरणों के लिए, रास्ते के मैट्रिक (बीटा) का हिसाब लगाने के उदाहरण देखें.

ComputeRouteMatrix तरीके की एक खास बात यह है कि पूरी स्ट्रीम या अलग-अलग एलिमेंट के लिए, गड़बड़ी के कोड दिखाए जा सकते हैं. उदाहरण के लिए, अगर अनुरोध गलत है, तो स्ट्रीम कनेक्शन गड़बड़ी का मैसेज दिखाता है. जैसे, इसमें कोई ऑरिजिन नहीं है. हालांकि, अगर कोई गड़बड़ी स्ट्रीम के कुछ एलिमेंट पर लागू होती है (उदाहरण के लिए, किसी ऑरिजिन के लिए अमान्य प्लेस आईडी सेट करना), तो सिर्फ़ उन एलिमेंट में गड़बड़ी कोड होते हैं जिन पर गड़बड़ी का असर पड़ा है.

स्ट्रीम से मिले एलिमेंट के किसी क्रम में दिखने की गारंटी नहीं है. इस वजह से, हर एलिमेंट में एक origin_index और एक destination_index होता है. अनुरोध में बताए गए ऑरिजिन और डेस्टिनेशन के लिए, किसी एलिमेंट के लिए रास्ते का ऑरिजिन origins[origin_index] के बराबर होता है और रास्ते का डेस्टिनेशन destinations[destination_index] के बराबर होता है. ये ऐरे, शून्य से इंडेक्स किए जाते हैं. ऑरिजिन और डेस्टिनेशन की सूची के क्रम को सेव करना ज़रूरी है.

टोल शुल्क का हिसाब लगाना

टोल शुल्क का हिसाब लगाने के बारे में जानने के लिए, टोल शुल्क का हिसाब लगाना लेख पढ़ें.

टोल शुल्क का हिसाब लगाने के उदाहरणों के लिए, रास्ते के मैट्रिक्स का हिसाब लगाने के उदाहरण देखें.