- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
यह फ़ंक्शन, शुरुआत की जगहों और मंज़िलों की सूची लेता है. साथ ही, यह एक स्ट्रीम दिखाता है. इस स्ट्रीम में, शुरुआत की हर जगह और मंज़िल के कॉम्बिनेशन के लिए रास्ते की जानकारी होती है.
ध्यान दें: इस तरीके के लिए, आपको इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना होगा. यूआरएल पैरामीटर $fields या fields का इस्तेमाल करके या एचटीटीपी/gRPC हेडर X-Goog-FieldMask का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क दिया जा सकता है. उपलब्ध यूआरएल पैरामीटर और हेडर देखें. यह वैल्यू, फ़ील्ड पाथ की कॉमा लगाकर अलग की गई लिस्ट होती है. फ़ील्ड पाथ बनाने के तरीके के बारे में ज़्यादा जानकारी देने वाला यह दस्तावेज़ पढ़ें.
उदाहरण के लिए, इस तरीके में:
- मैन्युअल तरीके से जांच करने के लिए, सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क:  X-Goog-FieldMask: *
- रास्ते की अवधि, दूरी, एलिमेंट की स्थिति, शर्त, और एलिमेंट इंडेक्स का फ़ील्ड मास्क (उदाहरण के लिए, प्रोडक्शन सेटअप):  X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
यह ज़रूरी है कि फ़ील्ड मास्क में status शामिल किया जाए. ऐसा न करने पर, सभी मैसेज ठीक दिखेंगे. Google, वाइल्डकार्ड (*) रिस्पॉन्स फ़ील्ड मास्क का इस्तेमाल करने का सुझाव नहीं देता है, क्योंकि:
- सिर्फ़ ज़रूरी फ़ील्ड चुनने से, हमारे सर्वर को कंप्यूटेशन साइकल सेव करने में मदद मिलती है. इससे हम आपको कम समय में नतीजे दिखा पाते हैं.
- सिर्फ़ उन फ़ील्ड को चुनने से जिनकी आपको प्रोडक्शन जॉब में ज़रूरत है, यह पक्का किया जा सकता है कि लेटेंसी की परफ़ॉर्मेंस स्थिर रहे. हम आने वाले समय में, जवाब के ज़्यादा फ़ील्ड जोड़ सकते हैं. इन नए फ़ील्ड के लिए, कैलकुलेशन में ज़्यादा समय लग सकता है. अगर आपने सभी फ़ील्ड चुने हैं या टॉप लेवल पर सभी फ़ील्ड चुने हैं, तो आपको परफ़ॉर्मेंस में गिरावट देखने को मिल सकती है. ऐसा इसलिए, क्योंकि हम जो भी नया फ़ील्ड जोड़ेंगे वह जवाब में अपने-आप शामिल हो जाएगा.
- सिर्फ़ उन फ़ील्ड को चुनने से जिनके लिए आपको नतीजे चाहिए, रिस्पॉन्स का साइज़ छोटा हो जाता है. इससे नेटवर्क थ्रूपुट बढ़ जाता है.
एचटीटीपी अनुरोध
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
यह यूआरएल, gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:
| JSON के काेड में दिखाना | 
|---|
| { "origins": [ { object ( | 
| फ़ील्ड | |
|---|---|
| origins[] | 
 ज़रूरी है. ऑरिजिन का कलेक्शन, जिससे जवाब मैट्रिक्स की पंक्तियां तय होती हैं. ओरिजिन और डेस्टिनेशन के एलिमेंट की संख्या पर, साइज़ से जुड़ी कई पाबंदियां लागू होती हैं: 
 | 
| destinations[] | 
 ज़रूरी है. डेस्टिनेशन का कलेक्शन. इससे रिस्पॉन्स मैट्रिक्स के कॉलम तय होते हैं. | 
| travelMode | 
 ज़रूरी नहीं. यात्रा के साधन के बारे में बताता है. | 
| routingPreference | 
 ज़रूरी नहीं. यह तय करता है कि रूट की जानकारी कैसे कैलकुलेट की जाए. सर्वर, चुने गए राउटिंग के तरीके का इस्तेमाल करके, रास्ते का हिसाब लगाता है. अगर राउटिंग की प्राथमिकता की वजह से गड़बड़ी होती है या इंतज़ार का समय बहुत ज़्यादा होता है, तो गड़बड़ी का मैसेज दिखता है. इस विकल्प को सिर्फ़ तब तय किया जा सकता है, जब  | 
| departureTime | 
 ज़रूरी नहीं. रवानगी का समय. अगर आपने यह वैल्यू सेट नहीं की है, तो यह वैल्यू डिफ़ॉल्ट रूप से उस समय पर सेट हो जाती है जब आपने अनुरोध किया था. ध्यान दें:  यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण:  | 
| arrivalTime | 
 ज़रूरी नहीं. बस के पहुंचने का समय. ध्यान दें: इसे सिर्फ़ तब सेट किया जा सकता है, जब  यह आरएफ़सी 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़ किया जाएगा और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाएंगे. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण:  | 
| languageCode | 
 ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे कि "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, यूनिकोड लोकल आइडेंटिफ़ायर देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची देखने के लिए, भाषा से जुड़ी सहायता देखें. इस वैल्यू को सबमिट न करने पर, डिसप्ले की भाषा का पता पहले ऑरिजिन की जगह के हिसाब से लगाया जाता है. | 
| regionCode | 
 ज़रूरी नहीं. क्षेत्र का कोड, जिसे ccTLD ("टॉप-लेवल डोमेन") के तौर पर दो वर्णों वाली वैल्यू के तौर पर तय किया जाता है. ज़्यादा जानकारी के लिए, देश के कोड के हिसाब से टॉप लेवल डोमेन देखें. | 
| units | 
 ज़रूरी नहीं. यह डिसप्ले फ़ील्ड के लिए, मेज़रमेंट की यूनिट तय करता है. | 
| extraComputations[] | 
 ज़रूरी नहीं. अतिरिक्त कैलकुलेशन की सूची, जिसका इस्तेमाल अनुरोध को पूरा करने के लिए किया जा सकता है. ध्यान दें: इन अतिरिक्त कैलकुलेशन से, जवाब में अतिरिक्त फ़ील्ड दिख सकते हैं. इन अतिरिक्त फ़ील्ड को फ़ील्ड मास्क में भी शामिल करना होगा, ताकि इन्हें रिस्पॉन्स में दिखाया जा सके. | 
| trafficModel | 
 ज़रूरी नहीं. ट्रैफ़िक में लगने वाले समय का हिसाब लगाते समय इस्तेमाल की जाने वाली मान्यताओं के बारे में बताता है. इस सेटिंग से,  | 
| transitPreferences | 
 ज़रूरी नहीं. यह उन प्राथमिकताओं के बारे में बताता है जो  | 
जवाब का मुख्य भाग
इसमें v2.computeRouteMatrix API में, शुरुआती जगह/मंज़िल के जोड़े के लिए कैलकुलेट की गई रास्ते की जानकारी होती है. इस प्रोटो को क्लाइंट को स्ट्रीम किया जा सकता है.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
| JSON के काेड में दिखाना | 
|---|
| { "status": { object ( | 
| फ़ील्ड | |
|---|---|
| status | 
 इस एलिमेंट के लिए गड़बड़ी की स्थिति का कोड. | 
| condition | 
 इससे पता चलता है कि रास्ता मिला या नहीं. स्टेटस से कोई फ़र्क़ नहीं पड़ता. | 
| distanceMeters | 
 रास्ते की दूरी, मीटर में. | 
| duration | 
 रास्ते पर चलने में लगने वाला समय. अगर  यह अवधि सेकंड में होती है. इसमें नौ दशमलव अंक तक हो सकते हैं. इसके आखिर में ' | 
| staticDuration | 
 ट्रैफ़िक की स्थिति को ध्यान में रखे बिना, इस रास्ते से यात्रा करने में लगने वाला समय. यह अवधि सेकंड में होती है. इसमें नौ दशमलव अंक तक हो सकते हैं. इसके आखिर में ' | 
| travelAdvisory | 
 रास्ते के बारे में अतिरिक्त जानकारी. उदाहरण के लिए: पाबंदी से जुड़ी जानकारी और टोल की जानकारी | 
| fallbackInfo | 
 कुछ मामलों में, जब सर्वर इस ऑरिजिन/डेस्टिनेशन पेयर के लिए, दी गई प्राथमिकताओं के हिसाब से रास्ते का हिसाब नहीं लगा पाता है, तो वह हिसाब लगाने के लिए किसी दूसरे मोड का इस्तेमाल कर सकता है. फ़ॉलबैक मोड का इस्तेमाल करने पर, इस फ़ील्ड में फ़ॉलबैक रिस्पॉन्स के बारे में पूरी जानकारी होती है. ऐसा न होने पर, इस फ़ील्ड को सेट नहीं किया जाता. | 
| localizedValues | 
 
 | 
| originIndex | 
 अनुरोध में मौजूद ऑरिजिन का ज़ीरो-आधारित इंडेक्स. | 
| destinationIndex | 
 अनुरोध में मौजूद डेस्टिनेशन का ज़ीरो-आधारित इंडेक्स. | 
RouteMatrixOrigin
ComputeRouteMatrixRequest के लिए एक ही ऑरिजिन
| JSON के काेड में दिखाना | 
|---|
| { "waypoint": { object ( | 
| फ़ील्ड | |
|---|---|
| waypoint | 
 ज़रूरी है. यात्रा शुरू करने की जगह | 
| routeModifiers | 
 ज़रूरी नहीं. हर उस रास्ते के लिए मॉडिफ़ायर जो इसे मूल जगह के तौर पर इस्तेमाल करता है | 
RouteMatrixDestination
ComputeRouteMatrixRequest के लिए एक डेस्टिनेशन
| JSON के काेड में दिखाना | 
|---|
| {
  "waypoint": {
    object ( | 
| फ़ील्ड | |
|---|---|
| waypoint | 
 ज़रूरी है. डेस्टिनेशन वेपॉइंट | 
ExtraComputation
अनुरोध पूरा करते समय, अतिरिक्त गणनाएं की जाती हैं.
| Enums | |
|---|---|
| EXTRA_COMPUTATION_UNSPECIFIED | इस्तेमाल नहीं किया गया. इस वैल्यू वाले अनुरोध पूरे नहीं किए जा सकेंगे. | 
| TOLLS | मैट्रिक्स एलिमेंट के लिए टोल की जानकारी. | 
RouteMatrixElementCondition
दिखाए जा रहे रास्ते की स्थिति.
| Enums | |
|---|---|
| ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED | इसका इस्तेमाल सिर्फ़ तब किया जाता है, जब एलिमेंट का statusठीक न हो. | 
| ROUTE_EXISTS | रास्ता मिल गया है और एलिमेंट के लिए उससे जुड़ी जानकारी भर दी गई है. | 
| ROUTE_NOT_FOUND | कोई रास्ता नहीं मिला. रास्ते की जानकारी देने वाले फ़ील्ड, जैसे कि distanceMetersयाduration, एलिमेंट में नहीं भरे जाएंगे. | 
LocalizedValues
कुछ प्रॉपर्टी के टेक्स्ट फ़ॉर्मैट.
| JSON के काेड में दिखाना | 
|---|
| { "distance": { object ( | 
| फ़ील्ड | |
|---|---|
| distance | 
 यात्रा की दूरी को टेक्स्ट के तौर पर दिखाया गया है. | 
| duration | 
 ट्रैफ़िक की स्थितियों को ध्यान में रखते हुए, अवधि को टेक्स्ट के रूप में दिखाया जाता है. ध्यान दें: अगर ट्रैफ़िक की जानकारी का अनुरोध नहीं किया गया था, तो यह वैल्यू, staticDuration की वैल्यू के बराबर होती है. | 
| staticDuration | 
 इसमें यात्रा में लगने वाले समय को टेक्स्ट के तौर पर दिखाया जाता है. इसमें ट्रैफ़िक की स्थिति को ध्यान में नहीं रखा जाता. | 
| transitFare | 
 किराये की जानकारी टेक्स्ट के तौर पर दी गई है. |