टर्मिनल और इंटरमीडिएट वेपॉइंट के सेट के आधार पर, वैकल्पिक वैकल्पिक रास्तों के साथ मुख्य रास्ते की जानकारी देता है.
ध्यान दें: इस तरीके के लिए, इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना ज़रूरी है. यूआरएल पैरामीटर $fields
या fields
या एचटीटीपी/gRPC हेडर X-Goog-FieldMask
का इस्तेमाल करके रिस्पॉन्स फ़ील्ड मास्क उपलब्ध कराया जा सकता है. उपलब्ध यूआरएल पैरामीटर और हेडर देखें. यह वैल्यू, फ़ील्ड पाथ की कॉमा-सेपरेटेड लिस्ट होती है. फ़ील्ड पाथ बनाने का तरीका जानने के लिए, यह दस्तावेज़ देखें.
उदाहरण के लिए, इस तरीके में:
- सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क (मैन्युअल जांच के लिए):
X-Goog-FieldMask: *
- रूट-लेवल की अवधि, दूरी, और पॉलीलाइन का फ़ील्ड मास्क (प्रोडक्शन सेटअप का उदाहरण):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google, वाइल्डकार्ड (*
) रिस्पॉन्स फ़ील्ड मास्क इस्तेमाल करने या टॉप लेवल (routes
) पर फ़ील्ड मास्क इस्तेमाल करने की सलाह नहीं देता, क्योंकि:
- सिर्फ़ आपकी ज़रूरत वाले फ़ील्ड चुनने से हमारे सर्वर को कंप्यूटेशन साइकल सेव करने में मदद मिलती है. इससे हम कम इंतज़ार के समय के साथ नतीजे आपको दिखा पाते हैं.
- प्रोडक्शन जॉब के लिए सिर्फ़ वही फ़ील्ड चुनने से इंतज़ार का समय अच्छा रहता है जिनकी आपको ज़रूरत होती है. हम आने वाले समय में रिस्पॉन्स फ़ील्ड भी जोड़ सकते हैं. साथ ही, इन नए फ़ील्ड को कैलकुलेट करने में ज़्यादा समय लग सकता है. सभी फ़ील्ड चुनने या टॉप लेवल पर सभी फ़ील्ड चुनने पर, परफ़ॉर्मेंस में गिरावट आ सकती है. इसकी वजह यह है कि अगर कोई नया फ़ील्ड जोड़ा जाता है, तो उसे जवाब में अपने-आप शामिल कर लिया जाता है.
- सिर्फ़ उन फ़ील्ड को चुनने पर रिस्पॉन्स साइज़ छोटा होता है जिनकी आपको ज़रूरत होती है. इसलिए, नेटवर्क थ्रूपुट ज़्यादा होता है.
एचटीटीपी अनुरोध
POST https://routespreferred.googleapis.com/v1alpha:computeRoutes
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना |
---|
{ "origin": { object ( |
फ़ील्ड | |
---|---|
origin |
ज़रूरी है. ऑरिजिन वेपॉइंट. |
destination |
ज़रूरी है. डेस्टिनेशन वेपॉइंट. |
intermediates[] |
ज़रूरी नहीं. रास्ते पर पड़ने वाले पॉइंट का एक सेट (टर्मिनल पॉइंट को छोड़कर), जो किसी जगह पर रुकने या वहां से गुजरने के लिए इस्तेमाल किया जाता है. इंटरमीडिएट में ज़्यादा से ज़्यादा 25 वेपॉइंट डाले जा सकते हैं. |
travelMode |
ज़रूरी नहीं. परिवहन का साधन बताता है. |
routingPreference |
ज़रूरी नहीं. रूट कंप्यूट करने का तरीका बताता है. रूट की गणना करने के लिए सर्वर, चुनी गई रूटिंग प्राथमिकता के इस्तेमाल की कोशिश करता है. अगर रूटिंग प्राथमिकता के कारण कोई गड़बड़ी होती है या अतिरिक्त लंबी प्रतीक्षा अवधि होती है, तो एक गड़बड़ी वापस मिलती है. आने वाले समय में, जब पसंदीदा विकल्प मान्य नतीजा नहीं देता है, तो हम किसी दूसरे विकल्प का इस्तेमाल करने के लिए, फ़ॉलबैक तरीका इस्तेमाल कर सकते हैं. इस विकल्प को सिर्फ़ तब तय किया जा सकता है, जब |
polylineQuality |
ज़रूरी नहीं. यह पॉलीलाइन की क्वालिटी के लिए आपकी प्राथमिकता बताता है. |
polylineEncoding |
ज़रूरी नहीं. पॉलीलाइन के लिए पसंदीदा एन्कोडिंग तय करता है. |
departureTime |
ज़रूरी नहीं. रवानगी का समय. अगर यह वैल्यू सेट नहीं की जाती है, तो यह वैल्यू आपके अनुरोध के समय पर डिफ़ॉल्ट रूप से सेट हो जाती है. अगर इस वैल्यू को पहले ही हो चुके समय पर सेट किया जाता है, तो अनुरोध पूरा नहीं होगा. आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
computeAlternativeRoutes |
तय करता है कि रूट के अलावा वैकल्पिक रास्तों की गणना करनी है या नहीं. |
routeModifiers |
ज़रूरी नहीं. शर्तों का एक सेट, जो रास्ते की गणना के तरीके को प्रभावित करती है. |
languageCode |
ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे कि "en-US" या "sr-Latn" के रूप में जाना जाता है. ज़्यादा जानकारी के लिए, http://www.unicode.org/reports/tr35/#Unicode_locale_identifier देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची के लिए, भाषा की सुविधा पर जाएं. यह वैल्यू न देने पर, डिसप्ले की भाषा का अनुमान, रास्ते के अनुरोध की जगह के आधार पर लगाया जाता है. |
units |
ज़रूरी नहीं. डिसप्ले फ़ील्ड के लिए माप की इकाइयां बताता है. इसमें |
optimizeWaypointOrder |
अगर OptimizeWaypointOrder 'सही' पर सेट है, तो रूट की कुल लागत को कम करने के लिए, बताए गए इंटरमीडिएट वेपॉइंट को फिर से क्रम में लगाने की कोशिश की जाती है. अगर कोई भी इंटरमीडिएट वेपॉइंट, वेपॉइंट से होकर गुज़रता है, तो अनुरोध फ़ेल हो जाता है. नया क्रम देखने के लिए, ComputeRoutesResponse.Routes.Optimize_intermediate_waypoint_index का इस्तेमाल करें. अगर |
जवाब का मुख्य भाग
कामयाब रहने पर, जवाब के मुख्य हिस्से में ComputeRoutesResponse
का एक इंस्टेंस शामिल किया जाता है.
अनुमति पाने के लिंक
नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:
https://www.googleapis.com/auth/maps-platform.routespreferred
ज़्यादा जानकारी के लिए, OAuth 2.0 की खास जानकारी देखें.