Method: computeRoutes

यह फ़ंक्शन, टर्मिनल और इंटरमीडिएट वेपॉइंट के सेट के हिसाब से, मुख्य रास्ते के साथ-साथ वैकल्पिक रास्ते भी दिखाता है.

ध्यान दें: इस तरीके के लिए, आपको इनपुट में रिस्पॉन्स फ़ील्ड मास्क तय करना होगा. यूआरएल पैरामीटर $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 (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
फ़ील्ड
origin

object (Waypoint)

ज़रूरी है. ऑरिजिन वेपॉइंट.

destination

object (Waypoint)

ज़रूरी है. मंज़िल के बीच में रुकने की जगह.

intermediates[]

object (Waypoint)

ज़रूरी नहीं. रास्ते में पड़ने वाले वेपॉइंट का सेट (टर्मिनल पॉइंट को छोड़कर), जहां रुकना है या जहां से गुज़रना है. ज़्यादा से ज़्यादा 25 इंटरमीडिएट वेपॉइंट इस्तेमाल किए जा सकते हैं.

travelMode

enum (RouteTravelMode)

ज़रूरी नहीं. यात्रा के साधन के बारे में बताता है.

routingPreference

enum (RoutingPreference)

ज़रूरी नहीं. यह तय करता है कि रूट की जानकारी कैसे कैलकुलेट की जाए. सर्वर, चुने गए राउटिंग के तरीके का इस्तेमाल करके, रास्ते का हिसाब लगाता है. अगर राउटिंग की प्राथमिकता से जुड़ी सेटिंग की वजह से कोई गड़बड़ी होती है या अनुरोध पूरा होने में बहुत ज़्यादा समय लगता है, तो गड़बड़ी का मैसेज दिखता है. इस विकल्प को सिर्फ़ तब तय किया जा सकता है, जब travelMode DRIVE या TWO_WHEELER हो. ऐसा न होने पर, अनुरोध पूरा नहीं होगा.

polylineQuality

enum (PolylineQuality)

ज़रूरी नहीं. इस विकल्प से, पॉलीलाइन की क्वालिटी के लिए आपकी प्राथमिकता तय होती है.

polylineEncoding

enum (PolylineEncoding)

ज़रूरी नहीं. इस विकल्प से, पॉलीलाइन के लिए पसंदीदा एन्कोडिंग के बारे में पता चलता है.

departureTime

string (Timestamp format)

ज़रूरी नहीं. रवानगी का समय. अगर आपने यह वैल्यू सेट नहीं की है, तो यह वैल्यू डिफ़ॉल्ट रूप से उस समय पर सेट हो जाती है जब आपने अनुरोध किया था. ध्यान दें: RouteTravelMode को TRANSIT पर सेट करने के बाद ही, departureTime के लिए पुरानी तारीख तय की जा सकती है. बस, मेट्रो वगैरह से की गई यात्राओं की जानकारी, पिछले सात दिनों या आने वाले 100 दिनों तक के लिए उपलब्ध होती है.

यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़्ड होता है और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाते हैं. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

ज़रूरी नहीं. बस के पहुंचने का समय. ध्यान दें: अगर अनुरोधों में TRANSIT के अलावा कोई और RouteTravelMode तय किया जाता है, तो इस फ़ील्ड को अनदेखा कर दिया जाता है. departureTime या arrivalTime में से किसी एक को चुना जा सकता है, लेकिन दोनों को नहीं. बस, मेट्रो वगैरह से की गई यात्राओं की जानकारी, पिछले सात दिनों या आने वाले 100 दिनों तक के लिए उपलब्ध होती है.

यह RFC 3339 का इस्तेमाल करता है. इसमें जनरेट किया गया आउटपुट हमेशा Z-नॉर्मलाइज़्ड होता है और इसमें 0, 3, 6 या 9 फ़्रैक्शनल अंक इस्तेमाल किए जाते हैं. "Z" के अलावा, अन्य ऑफ़सेट भी स्वीकार किए जाते हैं. उदाहरण: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" या "2014-10-02T15:01:23+05:30".

computeAlternativeRoutes

boolean

ज़रूरी नहीं. इससे यह तय किया जाता है कि रास्ते के साथ-साथ वैकल्पिक रास्तों का हिसाब लगाया जाए या नहीं. जिन अनुरोधों में बीच के वेपॉइंट होते हैं उनके लिए, कोई दूसरा रास्ता नहीं दिखाया जाता.

routeModifiers

object (RouteModifiers)

ज़रूरी नहीं. रास्तों का हिसाब लगाने के तरीके पर असर डालने वाली शर्तों का सेट.

languageCode

string

ज़रूरी नहीं. BCP-47 भाषा कोड, जैसे कि "en-US" या "sr-Latn". ज़्यादा जानकारी के लिए, यूनिकोड लोकल आइडेंटिफ़ायर देखें. इस्तेमाल की जा सकने वाली भाषाओं की सूची देखने के लिए, भाषा से जुड़ी सहायता देखें. यह वैल्यू न देने पर, डिसप्ले भाषा का पता रास्ते के अनुरोध की जगह से लगाया जाता है.

regionCode

string

ज़रूरी नहीं. क्षेत्र का कोड, जिसे ccTLD ("टॉप-लेवल डोमेन") के तौर पर दो वर्णों वाली वैल्यू के तौर पर तय किया जाता है. ज़्यादा जानकारी के लिए, देश के कोड के हिसाब से टॉप लेवल डोमेन देखें.

units

enum (Units)

ज़रूरी नहीं. यह डिसप्ले फ़ील्ड के लिए, मेज़रमेंट की इकाइयों के बारे में बताता है. इन फ़ील्ड में, NavigationInstruction में मौजूद instruction फ़ील्ड शामिल है. इस वैल्यू से, रूट, लेग, और चरण की दूरी और अवधि के लिए इस्तेमाल की गई माप की इकाइयों पर कोई असर नहीं पड़ता. यह वैल्यू न देने पर, डिसप्ले यूनिट का पता पहले ऑरिजिन की जगह से लगाया जाता है.

optimizeWaypointOrder

boolean

ज़रूरी नहीं. अगर इस विकल्प को 'सही है' पर सेट किया जाता है, तो सेवा, रास्ते के कुल खर्च को कम करने की कोशिश करती है. इसके लिए, रास्ते में पड़ने वाले इंटरमीडिएट वेपॉइंट का क्रम बदल दिया जाता है. अगर बीच के किसी भी वेपॉइंट में via वेपॉइंट है, तो अनुरोध पूरा नहीं होगा. नए क्रम को ढूंढने के लिए, ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index का इस्तेमाल करें. अगर X-Goog-FieldMask हेडर में ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index का अनुरोध नहीं किया जाता है, तो अनुरोध पूरा नहीं होगा. अगर optimizeWaypointOrder को 'गलत है' पर सेट किया जाता है, तो ComputeRoutesResponse.optimized_intermediate_waypoint_index खाली होगा.

requestedReferenceRoutes[]

enum (ReferenceRoute)

ज़रूरी नहीं. इससे यह तय किया जाता है कि डिफ़ॉल्ट रूट के अलावा, अनुरोध के हिस्से के तौर पर किन रेफ़रंस रूट का हिसाब लगाना है. रेफ़रंस रूट, डिफ़ॉल्ट रूट से अलग होता है. इसे कैलकुलेट करने का मकसद भी अलग होता है. उदाहरण के लिए, FUEL_EFFICIENT रेफ़रंस रूट कैलकुलेशन में कई पैरामीटर शामिल होते हैं. इससे, ईंधन की खपत कम करने वाला सबसे सही रूट जनरेट होता है. इस सुविधा का इस्तेमाल करते समय, रास्ते के सुझावों में routeLabels देखें.

extraComputations[]

enum (ExtraComputation)

ज़रूरी नहीं. अतिरिक्त कैलकुलेशन की सूची, जिसका इस्तेमाल अनुरोध को पूरा करने के लिए किया जा सकता है. ध्यान दें: इन अतिरिक्त कैलकुलेशन से, जवाब में अतिरिक्त फ़ील्ड दिख सकते हैं. इन अतिरिक्त फ़ील्ड को फ़ील्ड मास्क में भी शामिल करना होगा, ताकि इन्हें रिस्पॉन्स में दिखाया जा सके.

trafficModel

enum (TrafficModel)

ज़रूरी नहीं. ट्रैफ़िक में लगने वाले समय का हिसाब लगाते समय इस्तेमाल की जाने वाली मान्यताओं के बारे में बताता है. इस सेटिंग से, Route और RouteLeg में मौजूद अवधि फ़ील्ड में दिखाई गई वैल्यू पर असर पड़ता है. इस फ़ील्ड में, ट्रैफ़िक के हिसाब से अनुमानित समय दिखता है. यह अनुमान, पिछले समय के औसत के आधार पर लगाया जाता है. TrafficModel सिर्फ़ उन अनुरोधों के लिए उपलब्ध है जिनमें RoutingPreference को TRAFFIC_AWARE_OPTIMAL और RouteTravelMode को DRIVE पर सेट किया गया है. अगर ट्रैफ़िक का अनुरोध किया गया है और TrafficModel के बारे में नहीं बताया गया है, तो डिफ़ॉल्ट वैल्यू BEST_GUESS होती है.

transitPreferences

object (TransitPreferences)

ज़रूरी नहीं. उन प्राथमिकताओं के बारे में बताता है जिनसे TRANSIT रास्तों के लिए दिखाए गए रूट पर असर पड़ता है. ध्यान दें: RouteTravelMode को TRANSIT पर सेट करने के बाद ही, transitPreferences की जानकारी दी जा सकती है.

जवाब का मुख्य भाग

v2.computeRoutes का जवाब देने वाला मैसेज.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

JSON के काेड में दिखाना
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
फ़ील्ड
routes[]

object (Route)

compute_alternatives_routes तय करने पर, इसमें कैलकुलेट किए गए रास्तों (ज़्यादा से ज़्यादा तीन) की एक कैटगरी होती है. वहीं, इसे तय न करने पर, इसमें सिर्फ़ एक रास्ता होता है. जब इस कलेक्शन में कई एंट्री होती हैं, तो पहली एंट्री सबसे ज़्यादा सुझाई गई यात्रा का रास्ता होती है. अगर ऐरे खाली है, तो इसका मतलब है कि कोई रास्ता नहीं मिला.

fallbackInfo

object (FallbackInfo)

कुछ मामलों में, जब सर्वर सभी इनपुट प्राथमिकताओं के साथ रास्ते के नतीजे नहीं दिखा पाता है, तो वह कैलकुलेशन के किसी दूसरे तरीके का इस्तेमाल कर सकता है. फ़ॉलबैक मोड का इस्तेमाल करने पर, इस फ़ील्ड में फ़ॉलबैक रिस्पॉन्स के बारे में पूरी जानकारी होती है. ऐसा न होने पर, इस फ़ील्ड को सेट नहीं किया जाता.

geocodingResults

object (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

कम दूरी वाला रास्ता. इस सुविधा को प्रयोग के तौर पर दिया जा रहा है.

DRIVE अनुरोधों के लिए, यह सुविधा ड्राइविंग के दौरान आराम की तुलना में कम दूरी को प्राथमिकता देती है. उदाहरण के लिए, यह सुविधा हाइवे के बजाय स्थानीय सड़कों का इस्तेमाल कर सकती है, कच्ची सड़कों से जा सकती है, पार्किंग लॉट से होकर जा सकती है वगैरह. यह सुविधा ऐसे किसी भी रास्ते का सुझाव नहीं देती है जिसे Google Maps गैर-कानूनी मानता है.

BICYCLE और TWO_WHEELER के अनुरोधों के लिए, यह सुविधा ऐसे रास्ते दिखाती है जो requestedReferenceRoutes तय न करने पर दिखाए जाते हैं.

यह सुविधा, यात्रा के किसी अन्य तरीके, बीच के वेपॉइंट या optimizeWaypointOrder के साथ काम नहीं करती. ऐसे अनुरोध पूरे नहीं किए जा सकेंगे. हालांकि, इसका इस्तेमाल किसी भी routingPreference के साथ किया जा सकता है.

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 (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
फ़ील्ड
routeLabels[]

enum (RouteLabel)

Route के लिए लेबल. इनकी मदद से, रास्ते की खास प्रॉपर्टी की पहचान की जा सकती है, ताकि उनकी तुलना अन्य प्रॉपर्टी से की जा सके.

legs[]

object (RouteLeg)

लेग (रास्ते में पड़ने वाले पॉइंट के बीच के पाथ सेगमेंट) का ऐसा कलेक्शन जो मिलकर रास्ता बनाता है. हर लेग, दो नॉन-via Waypoints के बीच की यात्रा से मेल खाता है. उदाहरण के लिए, अगर किसी रास्ते में कोई इंटरमीडिएट वेपॉइंट नहीं है, तो उसमें सिर्फ़ एक लेग होता है. ऐसे रूट में दो लेग होते हैं जिसमें एक नॉन-via इंटरमीडिएट वेपॉइंट शामिल होता है. जिस रास्ते में एक via इंटरमीडिएट वेपॉइंट होता है उसमें एक लेग होता है. लेग का क्रम, origin से intermediates से destination तक के वेपॉइंट के क्रम से मैच होता है.

distanceMeters

integer

रास्ते की दूरी, मीटर में.

duration

string (Duration format)

रास्ते पर चलने में लगने वाला समय. अगर routingPreference को TRAFFIC_UNAWARE पर सेट किया जाता है, तो यह वैल्यू staticDuration के बराबर होती है. अगर आपने routingPreference को TRAFFIC_AWARE या TRAFFIC_AWARE_OPTIMAL पर सेट किया है, तो इस वैल्यू का हिसाब लगाते समय ट्रैफ़िक की स्थितियों को ध्यान में रखा जाता है.

यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह 's' पर खत्म होता है. उदाहरण: "3.5s".

staticDuration

string (Duration format)

ट्रैफ़िक की स्थिति को ध्यान में रखे बिना, उस रास्ते से यात्रा करने में लगने वाला समय.

यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह 's' पर खत्म होता है. उदाहरण: "3.5s".

polyline

object (Polyline)

पूरे रूट की पॉलीलाइन. यह पॉलीलाइन, सभी legs की मिली-जुली पॉलीलाइन है.

description

string

रास्ते के बारे में जानकारी.

warnings[]

string

रास्ता दिखाते समय दिखने वाली चेतावनियों का ऐरे.

viewport

object (Viewport)

पॉलीलाइन का व्यूपोर्ट बाउंडिंग बॉक्स.

travelAdvisory

object (RouteTravelAdvisory)

रास्ते के बारे में अतिरिक्त जानकारी.

optimizedIntermediateWaypointIndex[]

integer

अगर आपने optimizeWaypointOrder को 'सही है' पर सेट किया है, तो इस फ़ील्ड में इंटरमीडिएट वेपॉइंट का ऑप्टिमाइज़ किया गया क्रम शामिल होता है. ऐसा न होने पर, यह फ़ील्ड खाली होता है. उदाहरण के लिए, अगर आपने इनपुट दिया है: मूल जगह: लॉस एंजेलिस; बीच के वेपॉइंट: डैलस, बैंगोर, फ़ीनिक्स; मंज़िल: न्यूयॉर्क; और बीच के वेपॉइंट का ऑप्टिमाइज़ किया गया क्रम फ़ीनिक्स, डैलस, बैंगोर है, तो इस फ़ील्ड में [2, 0, 1] वैल्यू शामिल होंगी. इनपुट में दिए गए पहले इंटरमीडिएट वेपॉइंट के लिए इंडेक्स 0 से शुरू होता है.

localizedValues

object (RouteLocalizedValues)

Route की प्रॉपर्टी के टेक्स्ट फ़ॉर्मैट.

routeToken

string

यह एक ओपेक टोकन है. इसे Navigation SDK को पास किया जा सकता है. इससे नेविगेशन के दौरान रास्ते को फिर से बनाया जा सकता है. साथ ही, रास्ता बदलने की स्थिति में, रास्ता बनाते समय उपयोगकर्ता के मूल इरादे को ध्यान में रखा जा सकता है. इस टोकन को ओपेक ब्लोब के तौर पर इस्तेमाल करें. अलग-अलग अनुरोधों में इसकी वैल्यू की तुलना न करें, क्योंकि सेवा से एक ही रूट की जानकारी मिलने पर भी इसकी वैल्यू बदल सकती है.

ध्यान दें: Route.route_token सिर्फ़ उन अनुरोधों के लिए उपलब्ध है जिनमें ComputeRoutesRequest.routing_preference को TRAFFIC_AWARE या TRAFFIC_AWARE_OPTIMAL पर सेट किया गया है. Route.route_token फ़ंक्शन, उन अनुरोधों के लिए काम नहीं करता जिनमें रास्ते के पॉइंट शामिल होते हैं.

polylineDetails

object (PolylineDetails)

इसमें पॉलीलाइन के साथ-साथ जानकारी भी शामिल होती है.

RouteLabel

Route के लिए लेबल. इनकी मदद से, रास्ते की खास प्रॉपर्टी की पहचान की जा सकती है, ताकि उनकी तुलना अन्य प्रॉपर्टी से की जा सके.

Enums
ROUTE_LABEL_UNSPECIFIED डिफ़ॉल्ट - इसका इस्तेमाल नहीं किया जाता.
DEFAULT_ROUTE रास्ते का हिसाब लगाने के लिए, डिफ़ॉल्ट रूप से "सबसे अच्छा" रूट दिखाया जाता है.
DEFAULT_ROUTE_ALTERNATE डिफ़ॉल्ट "सबसे अच्छा" रास्ते के अलावा कोई दूसरा रास्ता. computeAlternativeRoutes के बारे में जानकारी देने पर, इस तरह के रास्ते दिखाए जाएंगे.
FUEL_EFFICIENT ईंधन की कम खपत वाला रास्ता. इस वैल्यू के साथ लेबल किए गए रास्तों को, ईंधन की खपत जैसे इको पैरामीटर के लिए ऑप्टिमाइज़ किया जाता है.
SHORTER_DISTANCE यात्रा की कम दूरी वाला रास्ता. इस सुविधा को प्रयोग के तौर पर दिया जा रहा है.

RouteLeg

इसमें नॉन-via वेपॉइंट के बीच का सेगमेंट शामिल होता है.

JSON के काेड में दिखाना
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
फ़ील्ड
distanceMeters

integer

रास्ते के लेग की दूरी, मीटर में.

duration

string (Duration format)

लेग को नेविगेट करने में लगने वाला समय. अगर route_preference को TRAFFIC_UNAWARE पर सेट किया जाता है, तो यह वैल्यू staticDuration के बराबर होती है. अगर route_preference की वैल्यू TRAFFIC_AWARE या TRAFFIC_AWARE_OPTIMAL है, तो इस वैल्यू का हिसाब लगाते समय ट्रैफ़िक की स्थितियों को ध्यान में रखा जाता है.

यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह 's' पर खत्म होता है. उदाहरण: "3.5s".

staticDuration

string (Duration format)

इस लेग में यात्रा की अवधि. इसकी गिनती में ट्रैफ़िक की स्थितियों को ध्यान में नहीं रखा जाता.

यह अवधि को सेकंड में दिखाता है. इसमें नौ दशमलव अंक तक हो सकते हैं और यह 's' पर खत्म होता है. उदाहरण: "3.5s".

polyline

object (Polyline)

इस लेग के लिए पूरी पॉलीलाइन, जिसमें हर step की पॉलीलाइन शामिल है.

startLocation

object (Location)

इस लेग की शुरुआती जगह. यह जगह, दी गई origin से अलग हो सकती है. उदाहरण के लिए, अगर दिया गया origin किसी सड़क के पास नहीं है, तो यह सड़क पर मौजूद पॉइंट है.

endLocation

object (Location)

इस लेग के खत्म होने की जगह. यह जगह, दी गई destination से अलग हो सकती है. उदाहरण के लिए, अगर दिया गया destination किसी सड़क के पास नहीं है, तो यह सड़क पर मौजूद पॉइंट है.

steps[]

object (