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

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

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

ComputeRouteMatrix तरीके के कई फ़ायदे हैं. ये फ़ायदे, Distance Matrix API (लेगसी) के मुकाबले ज़्यादा हैं:

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

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] के बराबर होती है. इन ऐरे को ज़ीरो से इंडेक्स किया जाता है. यह कुकी, मूल और डेस्टिनेशन की सूची के क्रम को सेव करती है.

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

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

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