- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- 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 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
arrivalTime |
ज़रूरी नहीं. पहुंचने का समय. ध्यान दें: इसे सिर्फ़ तब सेट किया जा सकता है, जब आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
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 |
बस, मेट्रो वगैरह का किराया, टेक्स्ट फ़ॉर्मैट में दिखाया जाता है. |