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

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

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

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

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

ComputeRouteMatrix मेथड चालू करना

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

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

ComputeRouteMatrix तरीका, रूट पसंदीदा 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

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

  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 को अपना अनुरोध भेजें.आपको TLS प्रोटोकॉल का इस्तेमाल करना होगा.

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

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

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

टोल शुल्क का हिसाब लगाया जा रहा है

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

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