- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- 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[] |
ज़रूरी है. डेस्टिनेशन का कलेक्शन, जो रिस्पॉन्स मैट्रिक्स के कॉलम तय करता है. |
travel |
ज़रूरी नहीं. यात्रा के साधन के बारे में बताता है. |
routing |
ज़रूरी नहीं. यह बताता है कि रूट का हिसाब कैसे लगाया जाए. सर्वर, रास्ते का हिसाब लगाने के लिए, चुनी गई रूटिंग प्राथमिकता का इस्तेमाल करने की कोशिश करता है. अगर रूटिंग की प्राथमिकता से कोई गड़बड़ी होती है या इंतज़ार का समय बहुत ज़्यादा हो जाता है, तो गड़बड़ी का मैसेज दिखता है. यह विकल्प सिर्फ़ तब तय किया जा सकता है, जब |
departure |
ज़रूरी नहीं. फ़्लाइट के जाने का समय. अगर इस वैल्यू को सेट नहीं किया जाता है, तो यह वैल्यू डिफ़ॉल्ट रूप से उस समय पर सेट हो जाती है जब आपने अनुरोध किया था. ध्यान दें: आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
arrival |
ज़रूरी नहीं. पहुंचने का समय. ध्यान दें: यह सेटिंग सिर्फ़ तब सेट की जा सकती है, जब आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
language |
ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे कि "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, यूनिकोड लोकल आइडेंटिफ़ायर देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची के लिए, भाषा से जुड़ी सहायता देखें. इस वैल्यू को सबमिट न करने पर, डिसप्ले की भाषा का अनुमान, पहले ऑरिजिन की जगह से लगाया जाता है. |
region |
ज़रूरी नहीं. क्षेत्र कोड, जो ccTLD ("टॉप लेवल डोमेन") के तौर पर दो वर्णों की वैल्यू के तौर पर तय किया गया है. ज़्यादा जानकारी के लिए, देश के कोड के हिसाब से टॉप लेवल डोमेन देखें. |
units |
ज़रूरी नहीं. डिसप्ले फ़ील्ड के लिए, मेज़रमेंट की इकाइयों की जानकारी देता है. |
extra |
ज़रूरी नहीं. अतिरिक्त कैलकुलेशन की सूची, जिसका इस्तेमाल अनुरोध पूरा करने के लिए किया जा सकता है. ध्यान दें: इन अतिरिक्त कैलकुलेशन की वजह से, रिस्पॉन्स में अतिरिक्त फ़ील्ड दिख सकते हैं. इन अतिरिक्त फ़ील्ड को फ़ील्ड मास्क में भी शामिल करना होगा, ताकि उन्हें रिस्पॉन्स में दिखाया जा सके. |
traffic |
ज़रूरी नहीं. ट्रैफ़िक में लगने वाले समय का हिसाब लगाते समय, इस्तेमाल की जाने वाली मान्यताओं के बारे में बताता है. इस सेटिंग का असर, |
transit |
ज़रूरी नहीं. ऐसी प्राथमिकताएं बताता है जिनका असर |
जवाब का मुख्य भाग
इसमें, v2.computeRouteMatrix API में ऑरिजिन/डेस्टिनेशन पेयर के लिए कैलकुलेट की गई रास्ते की जानकारी शामिल होती है. इस प्रोटो को क्लाइंट पर स्ट्रीम किया जा सकता है.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
JSON के काेड में दिखाना |
---|
{ "status": { object ( |
फ़ील्ड | |
---|---|
status |
इस एलिमेंट के लिए गड़बड़ी की स्थिति का कोड. |
condition |
इससे पता चलता है कि रास्ता मिला है या नहीं. यह स्थिति से अलग होता है. |
distance |
मीटर में, रास्ते की दूरी. |
duration |
रास्ते पर जाने में लगने वाला समय. अगर सेकंड में कुल समय, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह समय ' |
static |
ट्रैफ़िक के हाल को ध्यान में रखे बिना, रास्ते से यात्रा करने में लगने वाला समय. सेकंड में कुल समय, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह समय ' |
travel |
रास्ते के बारे में ज़्यादा जानकारी. उदाहरण के लिए: पाबंदी की जानकारी और टोल की जानकारी |
fallback |
कुछ मामलों में, जब सर्वर इस खास ऑरिजिन/डेस्टिनेशन पेयर के लिए दी गई प्राथमिकताओं के साथ रास्ते का हिसाब नहीं लगा पाता है, तो हो सकता है कि वह हिसाब लगाने के लिए किसी दूसरे मोड का इस्तेमाल करे. फ़ॉलबैक मोड का इस्तेमाल करने पर, इस फ़ील्ड में फ़ॉलबैक रिस्पॉन्स के बारे में पूरी जानकारी होती है. अगर ऐसा नहीं है, तो यह फ़ील्ड सेट नहीं किया जाता. |
localized |
|
origin |
अनुरोध में ऑरिजिन का शून्य-आधारित इंडेक्स. |
destination |
अनुरोध में डेस्टिनेशन का शून्य पर आधारित इंडेक्स. |
RouteMatrixOrigin
ComputeRouteMatrixRequest के लिए एक सोर्स
JSON के काेड में दिखाना |
---|
{ "waypoint": { object ( |
फ़ील्ड | |
---|---|
waypoint |
ज़रूरी है. ऑरिजिन वेपॉइंट |
route |
ज़रूरी नहीं. हर उस रास्ते के लिए मॉडिफ़ायर जो इस पते को ऑरिजिन के तौर पर इस्तेमाल करता है |
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 की वैल्यू के बराबर होगी. |
static |
ट्रैफ़िक की स्थिति को ध्यान में रखे बिना, टेक्स्ट फ़ॉर्म में दिखाई गई अवधि. |
transit |
बस, मेट्रो वगैरह का किराया, टेक्स्ट फ़ॉर्मैट में दिखाया गया. |