- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- PolylineQuality
- PolylineEncoding
- ReferenceRoute
- ExtraComputation
- Route
- RouteLabel
- RouteLeg
- Polyline
- RouteLegStep
- NavigationInstruction
- Maneuver
- RouteLegStepTravelAdvisory
- RouteLegStepLocalizedValues
- RouteLegStepTransitDetails
- TransitStopDetails
- TransitStop
- TransitDetailsLocalizedValues
- LocalizedTime
- TransitLine
- TransitAgency
- TransitVehicle
- TransitVehicleType
- RouteLegTravelAdvisory
- RouteLegLocalizedValues
- StepsOverview
- MultiModalSegment
- व्यू पोर्ट
- RouteLocalizedValues
- PolylineDetails
- FlyoverInfo
- RoadFeatureState
- PolylinePointIndex
- NarrowRoadInfo
- GeocodingResults
- GeocodedWaypoint
यह फ़ंक्शन, टर्मिनल और इंटरमीडिएट वेपॉइंट के सेट के हिसाब से, मुख्य रास्ते के साथ-साथ वैकल्पिक रास्ते भी दिखाता है.
ध्यान दें: इस तरीके के लिए, आपको इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना होगा. यूआरएल पैरामीटर $fields
या fields
का इस्तेमाल करके या एचटीटीपी/gRPC हेडर X-Goog-FieldMask
का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क दिया जा सकता है. उपलब्ध यूआरएल पैरामीटर और हेडर देखें. यह वैल्यू, फ़ील्ड पाथ की कॉमा सेपरेटेड लिस्ट होती है. फ़ील्ड पाथ बनाने के तरीके के बारे में ज़्यादा जानकारी देने वाला दस्तावेज़ देखें.
उदाहरण के लिए, इस तरीके में:
- मैन्युअल तरीके से जांच करने के लिए, सभी उपलब्ध फ़ील्ड का फ़ील्ड मास्क:
X-Goog-FieldMask: *
- रूट-लेवल की अवधि, दूरी, और पॉलीलाइन का फ़ील्ड मास्क (उदाहरण के लिए, प्रोडक्शन सेटअप):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google, वाइल्डकार्ड (*
) रिस्पॉन्स फ़ील्ड मास्क का इस्तेमाल करने या टॉप लेवल (routes
) पर फ़ील्ड मास्क तय करने का सुझाव नहीं देता है. इसकी वजह यह है कि:
- सिर्फ़ ज़रूरी फ़ील्ड चुनने से, हमारे सर्वर को कंप्यूटेशन साइकल सेव करने में मदद मिलती है. इससे हम आपको कम समय में नतीजे दिखा पाते हैं.
- सिर्फ़ उन फ़ील्ड को चुनने से जिनकी आपको प्रोडक्शन जॉब में ज़रूरत है, यह पक्का होता है कि लेटेन्सी की परफ़ॉर्मेंस स्थिर रहे. हम आने वाले समय में, जवाब के और फ़ील्ड जोड़ सकते हैं. इन नए फ़ील्ड के लिए, कैलकुलेशन में ज़्यादा समय लग सकता है. सभी फ़ील्ड चुनने पर या टॉप लेवल पर सभी फ़ील्ड चुनने पर, आपको परफ़ॉर्मेंस में गिरावट देखने को मिल सकती है. ऐसा इसलिए, क्योंकि हम जो भी नया फ़ील्ड जोड़ेंगे वह जवाब में अपने-आप शामिल हो जाएगा.
- सिर्फ़ उन फ़ील्ड को चुनने से जिनके लिए आपको नतीजे चाहिए, रिस्पॉन्स का साइज़ छोटा हो जाता है. इससे नेटवर्क थ्रूपुट बढ़ जाता है.
एचटीटीपी अनुरोध
POST https://routes.googleapis.com/directions/v2:computeRoutes
यह यूआरएल, gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य हिस्सा
अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना |
---|
{ "origin": { object ( |
फ़ील्ड | |
---|---|
origin |
ज़रूरी है. ऑरिजिन वेपॉइंट. |
destination |
ज़रूरी है. मंज़िल के बीच में रुकने की जगह. |
intermediates[] |
ज़रूरी नहीं. रास्ते में पड़ने वाले वेपॉइंट का सेट (टर्मिनल पॉइंट को छोड़कर), जहां रुकना है या जहां से गुज़रना है. ज़्यादा से ज़्यादा 25 इंटरमीडिएट वेपॉइंट इस्तेमाल किए जा सकते हैं. |
travelMode |
ज़रूरी नहीं. यात्रा के साधन के बारे में बताता है. |
routingPreference |
ज़रूरी नहीं. यह तय करता है कि रूट की जानकारी कैसे कैलकुलेट की जाए. सर्वर, चुने गए राउटिंग के तरीके का इस्तेमाल करके, रास्ते का हिसाब लगाता है. अगर राउटिंग की प्राथमिकता से जुड़ी सेटिंग की वजह से कोई गड़बड़ी होती है या अनुरोध पूरा होने में बहुत ज़्यादा समय लगता है, तो गड़बड़ी का मैसेज दिखता है. इस विकल्प को सिर्फ़ तब तय किया जा सकता है, जब |
polylineQuality |
ज़रूरी नहीं. इस विकल्प से, पॉलीलाइन की क्वालिटी के लिए आपकी प्राथमिकता तय होती है. |
polylineEncoding |
ज़रूरी नहीं. इस विकल्प से, पॉलीलाइन के लिए पसंदीदा एन्कोडिंग के बारे में पता चलता है. |
departureTime |
ज़रूरी नहीं. रवानगी का समय. अगर आपने यह वैल्यू सेट नहीं की है, तो यह वैल्यू डिफ़ॉल्ट रूप से उस समय पर सेट हो जाती है जब आपने अनुरोध किया था. ध्यान दें: यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़्ड होता है और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाते हैं. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: |
arrivalTime |
ज़रूरी नहीं. बस के पहुंचने का समय. ध्यान दें: अगर अनुरोधों में यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़्ड होता है और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाते हैं. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: |
computeAlternativeRoutes |
ज़रूरी नहीं. इससे यह तय किया जाता है कि रास्ते के साथ-साथ वैकल्पिक रास्तों का हिसाब लगाया जाए या नहीं. जिन अनुरोधों में बीच के वेपॉइंट होते हैं उनके लिए, कोई दूसरा रास्ता नहीं दिखाया जाता. |
routeModifiers |
ज़रूरी नहीं. रास्तों का हिसाब लगाने के तरीके पर असर डालने वाली शर्तों का सेट. |
languageCode |
ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे कि "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, यूनिकोड लोकल आइडेंटिफ़ायर देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची देखने के लिए, भाषा से जुड़ी सहायता देखें. यह वैल्यू न देने पर, डिसप्ले भाषा का पता रास्ते के अनुरोध की जगह से लगाया जाता है. |
regionCode |
ज़रूरी नहीं. क्षेत्र का कोड, जिसे ccTLD ("टॉप-लेवल डोमेन") के तौर पर दो वर्णों वाली वैल्यू के तौर पर तय किया जाता है. ज़्यादा जानकारी के लिए, देश के कोड के हिसाब से टॉप लेवल डोमेन देखें. |
units |
ज़रूरी नहीं. यह डिसप्ले फ़ील्ड के लिए, मेज़रमेंट की इकाइयों के बारे में बताता है. इन फ़ील्ड में, |
optimizeWaypointOrder |
ज़रूरी नहीं. अगर इस विकल्प को 'सही है' पर सेट किया जाता है, तो सेवा, रास्ते के कुल खर्च को कम करने की कोशिश करती है. इसके लिए, रास्ते में पड़ने वाले इंटरमीडिएट वेपॉइंट का क्रम बदल दिया जाता है. अगर बीच के किसी भी वेपॉइंट में |
requestedReferenceRoutes[] |
ज़रूरी नहीं. इससे यह तय किया जाता है कि डिफ़ॉल्ट रूट के अलावा, अनुरोध के हिस्से के तौर पर किन रेफ़रंस रूट का हिसाब लगाना है. रेफ़रंस रूट, डिफ़ॉल्ट रूट से अलग होता है. इसे कैलकुलेट करने का मकसद भी अलग होता है. उदाहरण के लिए, |
extraComputations[] |
ज़रूरी नहीं. अतिरिक्त कैलकुलेशन की सूची, जिसका इस्तेमाल अनुरोध को पूरा करने के लिए किया जा सकता है. ध्यान दें: इन अतिरिक्त कैलकुलेशन से, जवाब में अतिरिक्त फ़ील्ड दिख सकते हैं. इन अतिरिक्त फ़ील्ड को फ़ील्ड मास्क में भी शामिल करना होगा, ताकि इन्हें रिस्पॉन्स में दिखाया जा सके. |
trafficModel |
ज़रूरी नहीं. ट्रैफ़िक में लगने वाले समय का हिसाब लगाते समय इस्तेमाल की जाने वाली मान्यताओं के बारे में बताता है. इस सेटिंग से, |
transitPreferences |
ज़रूरी नहीं. उन प्राथमिकताओं के बारे में बताता है जिनसे |
जवाब का मुख्य भाग
v2.computeRoutes का जवाब देने वाला मैसेज.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
JSON के काेड में दिखाना |
---|
{ "routes": [ { object ( |
फ़ील्ड | |
---|---|
routes[] |
|
fallbackInfo |
कुछ मामलों में, जब सर्वर सभी इनपुट प्राथमिकताओं के साथ रास्ते के नतीजे नहीं दिखा पाता है, तो वह कैलकुलेशन के किसी दूसरे तरीके का इस्तेमाल कर सकता है. फ़ॉलबैक मोड का इस्तेमाल करने पर, इस फ़ील्ड में फ़ॉलबैक रिस्पॉन्स के बारे में पूरी जानकारी होती है. ऐसा न होने पर, इस फ़ील्ड को सेट नहीं किया जाता. |
geocodingResults |
इस कुकी में, पतों के तौर पर तय किए गए वेपॉइंट के लिए, जियोकोडिंग के जवाब की जानकारी होती है. |
PolylineQuality
यह वैल्यू का एक सेट होता है, जो पॉलीलाइन की क्वालिटी के बारे में बताता है.
Enums | |
---|---|
POLYLINE_QUALITY_UNSPECIFIED |
पॉलीलाइन की क्वालिटी के लिए कोई प्राथमिकता नहीं दी गई है. यह डिफ़ॉल्ट रूप से OVERVIEW पर सेट होता है. |
HIGH_QUALITY |
यह ज़्यादा क्वालिटी वाली पॉलीलाइन के बारे में बताता है. इसे OVERVIEW से ज़्यादा पॉइंट का इस्तेमाल करके बनाया जाता है. हालांकि, इससे जवाब का साइज़ बढ़ जाता है. ज़्यादा सटीक जानकारी देने के लिए, इस वैल्यू का इस्तेमाल करें. |
OVERVIEW |
यह एक खास जानकारी वाली पॉलीलाइन तय करता है. इसे कुछ पॉइंट का इस्तेमाल करके बनाया जाता है. रास्ते की खास जानकारी दिखाते समय, इस वैल्यू का इस्तेमाल करें. इस विकल्प का इस्तेमाल करने पर, अनुरोध के लिए इंतज़ार का समय, HIGH_QUALITY विकल्प का इस्तेमाल करने की तुलना में कम होता है. |
PolylineEncoding
यह बताता है कि किस तरह की पॉलीलाइन को वापस लाना है.
Enums | |
---|---|
POLYLINE_ENCODING_UNSPECIFIED |
कोई पॉलीलाइन टाइप प्राथमिकता नहीं दी गई है. यह डिफ़ॉल्ट रूप से ENCODED_POLYLINE पर सेट होता है. |
ENCODED_POLYLINE |
यह पॉलीलाइन एन्कोडिंग एल्गोरिदम का इस्तेमाल करके एन्कोड की गई पॉलीलाइन के बारे में बताता है. |
GEO_JSON_LINESTRING |
GeoJSON LineString फ़ॉर्मैट का इस्तेमाल करके पॉलीलाइन तय करता है |
ReferenceRoute
ComputeRoutesRequest पर, सहायता पाने के लिए रेफ़रंस रूट.
Enums | |
---|---|
REFERENCE_ROUTE_UNSPECIFIED |
इस्तेमाल नहीं किया गया. इस वैल्यू वाले अनुरोध पूरे नहीं किए जा सकते. |
FUEL_EFFICIENT |
ईंधन की कम खपत वाला रास्ता. |
SHORTER_DISTANCE |
कम दूरी वाला रास्ता. इस सुविधा को प्रयोग के तौर पर दिया जा रहा है.
यह सुविधा, यात्रा के किसी अन्य तरीके, बीच के वेपॉइंट या |
ExtraComputation
अनुरोध पूरा करते समय, अतिरिक्त गणनाएं की जाती हैं.
Enums | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
इस्तेमाल नहीं किया गया. इस वैल्यू वाले अनुरोध पूरे नहीं किए जा सकेंगे. |
TOLLS |
रास्ते के लिए टोल की जानकारी. |
FUEL_CONSUMPTION |
रास्ते के लिए ईंधन की अनुमानित खपत. |
TRAFFIC_ON_POLYLINE |
रास्ते के लिए, ट्रैफ़िक की जानकारी देने वाली पॉलीलाइन. |
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS |
NavigationInstructions को फ़ॉर्मैट की गई एचटीएमएल टेक्स्ट स्ट्रिंग के तौर पर दिखाया गया है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. यह कॉन्टेंट सिर्फ़ दिखाने के लिए है. इसे प्रोग्राम के हिसाब से पार्स न करें. |
FLYOVER_INFO_ON_POLYLINE |
रास्ते के फ़्लाइओवर की जानकारी. यह जानकारी पाने के लिए, routes.polyline_details.flyover_info फ़ील्डमास्क तय करना ज़रूरी है. फ़िलहाल, यह डेटा सिर्फ़ भारत के कुछ मेट्रो शहरों के लिए उपलब्ध होगा. यह सुविधा, एक्सपेरिमेंट के तौर पर उपलब्ध है. इसलिए, एसकेयू/शुल्क में बदलाव हो सकता है. |
NARROW_ROAD_INFO_ON_POLYLINE |
रास्ते की संकरी सड़क की जानकारी. यह जानकारी पाने के लिए, routes.polyline_details.narrow_road_info फ़ील्डमास्क तय करना ज़रूरी है. फ़िलहाल, यह डेटा सिर्फ़ भारत के कुछ मेट्रो शहरों के लिए उपलब्ध होगा. यह सुविधा, एक्सपेरिमेंट के तौर पर उपलब्ध है. इसलिए, एसकेयू/शुल्क में बदलाव हो सकता है. |
रास्ता
इसमें एक ऐसा रास्ता होता है जिसमें सड़क के कनेक्टेड सेगमेंट की एक सीरीज़ होती है. ये सेगमेंट, शुरुआती, आखिरी, और बीच के वेपॉइंट से जुड़ते हैं.
JSON के काेड में दिखाना |
---|
{ "routeLabels": [ enum ( |
फ़ील्ड | |
---|---|
routeLabels[] |
|
legs[] |
लेग (रास्ते में पड़ने वाले पॉइंट के बीच के पाथ सेगमेंट) का ऐसा कलेक्शन जो मिलकर रास्ता बनाता है. हर लेग, दो नॉन- |
distanceMeters |
रास्ते की दूरी, मीटर में. |
duration |
रास्ते पर चलने में लगने वाला समय. अगर यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह ' |
staticDuration |
ट्रैफ़िक की स्थिति को ध्यान में रखे बिना, उस रास्ते से यात्रा करने में लगने वाला समय. यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह ' |
polyline |
पूरे रूट की पॉलीलाइन. यह पॉलीलाइन, सभी |
description |
रास्ते के बारे में जानकारी. |
warnings[] |
रास्ता दिखाते समय दिखने वाली चेतावनियों का ऐरे. |
viewport |
पॉलीलाइन का व्यूपोर्ट बाउंडिंग बॉक्स. |
travelAdvisory |
रास्ते के बारे में अतिरिक्त जानकारी. |
optimizedIntermediateWaypointIndex[] |
अगर आपने |
localizedValues |
|
routeToken |
यह एक ओपेक टोकन है. इसे Navigation SDK को पास किया जा सकता है. इससे नेविगेशन के दौरान रास्ते को फिर से बनाया जा सकता है. साथ ही, रास्ता बदलने की स्थिति में, रास्ता बनाते समय उपयोगकर्ता के मूल इरादे को ध्यान में रखा जा सकता है. इस टोकन को ओपेक ब्लोब के तौर पर इस्तेमाल करें. अलग-अलग अनुरोधों में इसकी वैल्यू की तुलना न करें, क्योंकि सेवा से एक ही रूट की जानकारी मिलने पर भी इसकी वैल्यू बदल सकती है. ध्यान दें: |
polylineDetails |
इसमें पॉलीलाइन के साथ-साथ जानकारी भी शामिल होती है. |
RouteLabel
के लिए लेबल. इनकी मदद से, रास्ते की खास प्रॉपर्टी की पहचान की जा सकती है, ताकि उनकी तुलना अन्य प्रॉपर्टी से की जा सके.Route
Enums | |
---|---|
ROUTE_LABEL_UNSPECIFIED |
डिफ़ॉल्ट - इसका इस्तेमाल नहीं किया जाता. |
DEFAULT_ROUTE |
रास्ते का हिसाब लगाने के लिए, डिफ़ॉल्ट रूप से "सबसे अच्छा" रूट दिखाया जाता है. |
DEFAULT_ROUTE_ALTERNATE |
डिफ़ॉल्ट "सबसे अच्छा" रास्ते के अलावा कोई दूसरा रास्ता. के बारे में जानकारी देने पर, इस तरह के रास्ते दिखाए जाएंगे. |
FUEL_EFFICIENT |
ईंधन की कम खपत वाला रास्ता. इस वैल्यू के साथ लेबल किए गए रास्तों को, ईंधन की खपत जैसे इको पैरामीटर के लिए ऑप्टिमाइज़ किया जाता है. |
SHORTER_DISTANCE |
यात्रा की कम दूरी वाला रास्ता. इस सुविधा को प्रयोग के तौर पर दिया जा रहा है. |
RouteLeg
इसमें नॉन-via
वेपॉइंट के बीच का सेगमेंट शामिल होता है.
JSON के काेड में दिखाना |
---|
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object ( |
फ़ील्ड | |
---|---|
distanceMeters |
रास्ते के लेग की दूरी, मीटर में. |
duration |
लेग को नेविगेट करने में लगने वाला समय. अगर यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह ' |
staticDuration |
इस लेग में यात्रा की अवधि. इसकी गिनती में ट्रैफ़िक की स्थितियों को ध्यान में नहीं रखा जाता. यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह ' |
polyline |
इस लेग के लिए पूरी पॉलीलाइन, जिसमें हर |
startLocation |
इस लेग की शुरुआती जगह. यह जगह, दी गई |
endLocation |
इस लेग के खत्म होने की जगह. यह जगह, दी गई |
steps[] |
|