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