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