टर्मिनल और इंटरमीडिएट वेपॉइंट के सेट और रूट मकसद दिए जाने पर, रूट मकसद के लिए सबसे अच्छे रूट का पता चलता है. यह सबसे तेज़ रास्ते और सबसे छोटे रास्ते को रेफ़रंस रास्ते के तौर पर भी दिखाता है.
ध्यान दें: इस तरीके के लिए, इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना ज़रूरी है. यूआरएल पैरामीटर $fields
या fields
या एचटीटीपी/gRPC हेडर X-Goog-FieldMask
का इस्तेमाल करके रिस्पॉन्स फ़ील्ड मास्क उपलब्ध कराया जा सकता है. उपलब्ध यूआरएल पैरामीटर और हेडर देखें. यह वैल्यू, फ़ील्ड पाथ की कॉमा-सेपरेटेड लिस्ट होती है. फ़ील्ड पाथ बनाने का तरीका जानने के लिए, यह दस्तावेज़ देखें.
उदाहरण के लिए, इस तरीके में:
- सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क (मैन्युअल जांच के लिए):
X-Goog-FieldMask: *
- रास्ते की दूरी, कुल समय, टोकन, और टोल की जानकारी का फ़ील्ड मास्क:
X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo
Google, वाइल्डकार्ड (*
) रिस्पॉन्स फ़ील्ड मास्क इस्तेमाल करने या टॉप लेवल (routes
) पर फ़ील्ड मास्क इस्तेमाल करने की सलाह नहीं देता, क्योंकि:
- सिर्फ़ ज़रूरी फ़ील्ड चुनने से, हमारे सर्वर को कैलकुलेशन साइकल बचाने में मदद मिलती है. इससे, हम आपको कम इंतज़ार के साथ नतीजा दे पाते हैं.
- प्रोडक्शन जॉब के लिए सिर्फ़ वही फ़ील्ड चुनने से इंतज़ार का समय अच्छा रहता है जिनकी आपको ज़रूरत होती है. हम आने वाले समय में रिस्पॉन्स फ़ील्ड भी जोड़ सकते हैं. साथ ही, इन नए फ़ील्ड को कैलकुलेट करने में ज़्यादा समय लग सकता है. सभी फ़ील्ड चुनने या सबसे ऊपर मौजूद सभी फ़ील्ड चुनने पर, आपको परफ़ॉर्मेंस में गिरावट दिख सकती है. ऐसा इसलिए, क्योंकि हम जो भी नया फ़ील्ड जोड़ेंगे वह जवाब में अपने-आप शामिल हो जाएगा.
- सिर्फ़ उन फ़ील्ड को चुनने पर रिस्पॉन्स साइज़ छोटा होता है जिनकी आपको ज़रूरत होती है. इसलिए, नेटवर्क थ्रूपुट ज़्यादा होता है.
एचटीटीपी अनुरोध
POST https://routespreferred.googleapis.com/v1alpha:computeCustomRoutes
यूआरएल में gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल किया गया है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य भाग में, नीचे दिए गए स्ट्रक्चर वाला डेटा होता है:
JSON के काेड में दिखाना |
---|
{ "origin": { object ( |
फ़ील्ड | |
---|---|
origin |
ज़रूरी है. ऑरिजिन वेपॉइंट. |
destination |
ज़रूरी है. डेस्टिनेशन वेपॉइंट. |
intermediates[] |
ज़रूरी नहीं. रास्ते पर पड़ने वाले पॉइंट का एक सेट (टर्मिनल पॉइंट को छोड़कर), जो किसी जगह पर रुकने या वहां से गुजरने के लिए इस्तेमाल किया जाता है. इंटरमीडिएट में ज़्यादा से ज़्यादा 25 वेपॉइंट डाले जा सकते हैं. |
travel |
ज़रूरी नहीं. यात्रा के साधन के बारे में बताता है. सिर्फ़ |
routing |
ज़रूरी नहीं. रूट कंप्यूट करने का तरीका बताता है. रूट की गणना करने के लिए सर्वर, चुनी गई रूटिंग प्राथमिकता के इस्तेमाल की कोशिश करता है. अगर रूटिंग प्राथमिकता के कारण कोई गड़बड़ी होती है या अतिरिक्त लंबी प्रतीक्षा अवधि होती है, तो एक गड़बड़ी वापस मिलती है. इस विकल्प को सिर्फ़ तब तय किया जा सकता है, जब |
polyline |
ज़रूरी नहीं. यह पॉलीलाइन की क्वालिटी के लिए आपकी प्राथमिकता बताता है. |
polyline |
ज़रूरी नहीं. पॉलीलाइन के लिए पसंदीदा एन्कोडिंग तय करता है. |
departure |
ज़रूरी नहीं. रवानगी का समय. अगर यह वैल्यू सेट नहीं की जाती है, तो यह वैल्यू आपके अनुरोध के समय पर डिफ़ॉल्ट रूप से सेट हो जाती है. अगर इस वैल्यू को पहले ही हो चुके समय पर सेट किया जाता है, तो अनुरोध पूरा नहीं होगा. आरएफ़सी3339 यूटीसी के "Zulu" फ़ॉर्मैट में एक टाइमस्टैंप, नैनोसेकंड रिज़ॉल्यूशन और नौ दशमलव अंकों के साथ. उदाहरण के लिए: |
route |
ज़रूरी नहीं. ऐसी शर्तों का सेट जो रास्तों का हिसाब लगाने के तरीके पर असर डालती हैं. |
route |
ज़रूरी है. ऑप्टिमाइज़ करने के लिए कोई रूट मकसद. |
language |
ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे कि "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, यूनिकोड लोकल आइडेंटिफ़ायर देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची के लिए, भाषा से जुड़ी सहायता देखें. अगर आपने यह वैल्यू नहीं दी है, तो डिसप्ले भाषा का अनुमान, रास्ते के अनुरोध की जगह से लगाया जाता है. |
units |
ज़रूरी नहीं. डिसप्ले फ़ील्ड के लिए माप की इकाइयां बताता है. इसमें |
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में ComputeCustomRoutesResponse
का एक इंस्टेंस शामिल किया जाता है.
अनुमति के दायरे
नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:
https://www.googleapis.com/auth/maps-platform.routespreferred
ज़्यादा जानकारी के लिए, OAuth 2.0 की खास जानकारी देखें.