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 दिनों तक के लिए उपलब्ध होती है.

यह आरएफ़सी 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 दिनों तक के लिए उपलब्ध होती है.

यह आरएफ़सी 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 हेडर में ComputeRoutesResponse.routes.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 NavigationInstruction को फ़ॉर्मैट किए गए एचटीएमएल टेक्स्ट स्ट्रिंग के तौर पर दिखाया जाता है. इस कॉन्टेंट को जैसा है वैसा ही पढ़ा जाना चाहिए. यह कॉन्टेंट सिर्फ़ दिखाने के लिए है. इसे प्रोग्राम के हिसाब से पार्स न करें.
FLYOVER_INFO_ON_POLYLINE रास्ते के फ़्लाइओवर की जानकारी. यह जानकारी पाने के लिए, routes.polyline_details.flyover_info फ़ील्डमास्क तय करना ज़रूरी है. फ़िलहाल, यह डेटा सिर्फ़ भारत के कुछ महानगरों के लिए उपलब्ध होगा. यह सुविधा एक्सपेरिमेंट के तौर पर उपलब्ध है. इसलिए, एसकेयू/शुल्क में बदलाव हो सकता है.
NARROW_ROAD_INFO_ON_POLYLINE रास्ते के लिए, पतली सड़क की जानकारी. यह जानकारी पाने के लिए, routes.polyline_details.narrow_road_info फ़ील्डमास्क तय करना ज़रूरी है. फ़िलहाल, यह डेटा सिर्फ़ भारत के कुछ महानगरों के लिए उपलब्ध होगा. यह सुविधा एक्सपेरिमेंट के तौर पर उपलब्ध है. इसलिए, एसकेयू/शुल्क में बदलाव हो सकता है.
TUNNEL_INFO_ON_POLYLINE रास्ते में आने वाली सुरंगों के बारे में जानकारी. यह जानकारी पाने के लिए, routes.polyline_details.tunnel_info फ़ील्डमास्क तय करना ज़रूरी है.
BRIDGE_INFO_ON_POLYLINE रास्ते की जानकारी के लिए ब्रिज. यह जानकारी पाने के लिए, routes.polyline_details.bridge_info फ़ील्डमास्क तय करना ज़रूरी है.
SKYWAY_INFO_ON_POLYLINE रास्ते के लिए स्काईवे की जानकारी. यह जानकारी पाने के लिए, routes.polyline_details.skyway_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 (RouteLegStep)

इस लेग में मौजूद सेगमेंट को दिखाने वाले चरणों की कैटगरी. हर चरण में, नेविगेशन से जुड़ा एक निर्देश होता है.

travelAdvisory

object (RouteLegTravelAdvisory)

इसमें ऐसी अतिरिक्त जानकारी होती है जिसके बारे में उपयोगकर्ता को बताया जाना चाहिए. जैसे, किसी रास्ते पर ट्रैफ़िक ज़ोन से जुड़ी पाबंदियां.

localizedValues

object (RouteLegLocalizedValues)

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

stepsOverview

object (StepsOverview)

इस RouteLeg में दिए गए चरणों के बारे में खास जानकारी. यह फ़ील्ड सिर्फ़ बस, मेट्रो वगैरह के रास्तों के लिए भरा जाता है.

पॉलीलाइन

इसमें कोड में बदली गई पॉलीलाइन होती है.

JSON के काेड में दिखाना
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of mutually exclusive fields.
}
फ़ील्ड
इसमें पॉलीलाइन का टाइप शामिल होता है. डिफ़ॉल्ट रूप से, यह encoded_polyline पर सेट होता है. यहां ऐसे फ़ील्ड की सूची दी गई है जिनमें से सिर्फ़ एक को चुना जा सकता है. जवाब में ज़्यादा से ज़्यादा एक फ़ील्ड सेट किया जाएगा:
encodedPolyline

string

पॉलीलाइन एन्कोडिंग एल्गोरिदम का इस्तेमाल करके, पॉलीलाइन की स्ट्रिंग एन्कोडिंग

geoJsonLinestring

object (Struct format)

GeoJSON LineString फ़ॉर्मैट का इस्तेमाल करके, पॉलीलाइन के बारे में बताता है.

एक-दूसरे से अलग फ़ील्ड खत्म होने का समय.

RouteLegStep

इसमें RouteLeg का एक सेगमेंट शामिल होता है. हर चरण, नेविगेशन के एक निर्देश से मेल खाता है. रास्ते के लेग, चरणों से बने होते हैं.

JSON के काेड में दिखाना
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
फ़ील्ड
distanceMeters

integer

इस चरण में तय की गई दूरी, मीटर में. कुछ मामलों में, इस फ़ील्ड में कोई वैल्यू नहीं हो सकती.

staticDuration

string (Duration format)

इस चरण में यात्रा करने में लगने वाला समय. इसमें ट्रैफ़िक का हाल ध्यान में नहीं रखा जाता. कुछ मामलों में, इस फ़ील्ड में कोई वैल्यू नहीं हो सकती.

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

polyline

object (Polyline)

इस चरण से जुड़ी पॉलीलाइन.

startLocation

object (Location)

इस चरण की शुरुआती जगह.

endLocation

object (Location)

इस चरण की आखिरी जगह.

navigationInstruction

object (NavigationInstruction)

नेविगेशन के निर्देश.

travelAdvisory

object (RouteLegStepTravelAdvisory)

इसमें ऐसी अतिरिक्त जानकारी होती है जिसके बारे में उपयोगकर्ता को बताया जाना चाहिए. जैसे, यात्रा के किसी चरण में ट्रैफ़िक ज़ोन से जुड़ी पाबंदियां.

localizedValues

object (RouteLegStepLocalizedValues)

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

transitDetails

object (RouteLegStepTransitDetails)

अगर यात्रा का मोड TRANSIT है, तो इस चरण से जुड़ी जानकारी.

travelMode

enum (RouteTravelMode)

इस चरण के लिए इस्तेमाल किया गया यात्रा का मोड.

मन्यूवर

वैल्यू का एक ऐसा सेट जो मौजूदा चरण के लिए, नेविगेशन की कार्रवाई के बारे में बताता है. उदाहरण के लिए, बाईं ओर मुड़ें, मर्ज करें या सीधे जाएं.

Enums
MANEUVER_UNSPECIFIED इस्तेमाल नहीं किया जाता.
TURN_SLIGHT_LEFT थोड़ा बाईं ओर मुड़ें.
TURN_SHARP_LEFT तेज़ी से बाईं ओर मुड़ें.
UTURN_LEFT बाएं ओर से यू-टर्न लें.
TURN_LEFT बाएं मुड़ें.
TURN_SLIGHT_RIGHT थोड़ा राइट मुड़ें.
TURN_SHARP_RIGHT तेज़ी से दाईं ओर मुड़ें.
UTURN_RIGHT दाईं ओर यू-टर्न लें.
TURN_RIGHT दाईं ओर मुड़ें.
STRAIGHT सीधे जाओ.
RAMP_LEFT लेफ़्ट रैंप लें.
RAMP_RIGHT राइट रैंप लें.
MERGE ट्रैफ़िक में शामिल हों.
FORK_LEFT बाएं रास्ते पर जाएं.
FORK_RIGHT दाईं ओर मुड़ें.
FERRY फ़ेरी लें.
FERRY_TRAIN ट्रेन से फ़ेरी तक जाएं.
ROUNDABOUT_LEFT गोल चक्कर से लेफ़्ट मुड़ें.
ROUNDABOUT_RIGHT गोल चक्कर से राइट मुड़ें.
DEPART शुरुआती पैंतरा.
NAME_CHANGE इसका इस्तेमाल, सड़क का नाम बदलने के लिए किया जाता है.
DESTINATION इसका इस्तेमाल, किसी डेस्टिनेशन पर पहुंचने की जानकारी देने के लिए किया जाता है.

RouteLegStepTravelAdvisory

इसमें वह अतिरिक्त जानकारी होती है जिसके बारे में उपयोगकर्ता को बताया जाना चाहिए. जैसे, यात्रा के किसी चरण में ट्रैफ़िक ज़ोन से जुड़ी पाबंदियां.

JSON के काेड में दिखाना
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
फ़ील्ड
speedReadingIntervals[]

object (SpeedReadingInterval)

ध्यान दें: फ़िलहाल, इस फ़ील्ड में जानकारी नहीं भरी जाती.

RouteLegStepLocalizedValues

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

JSON के काेड में दिखाना
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
फ़ील्ड
distance

object (LocalizedText)

टेक्स्ट फ़ॉर्म में यात्रा की दूरी दिखाई गई है.

staticDuration

object (LocalizedText)

ट्रैफ़िक का हाल ध्यान में रखे बिना, यात्रा में लगने वाला समय. इसे टेक्स्ट के तौर पर दिखाया जाता है.

RouteLegStepTransitDetails

RouteLegStep के लिए, TRANSIT रास्तों से जुड़ी अतिरिक्त जानकारी.

JSON के काेड में दिखाना
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
फ़ील्ड
stopDetails

object (TransitStopDetails)

इस चरण के लिए, बस के पहुंचने और रवाना होने के स्टॉप की जानकारी.

localizedValues

object (TransitDetailsLocalizedValues)

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

headsign

string

इससे पता चलता है कि वाहन या बस स्टॉप पर मौजूद जानकारी के मुताबिक, इस लाइन पर किस दिशा में यात्रा करनी है. दिशा अक्सर आखिरी स्टेशन होती है.

headway

string (Duration format)

इससे यह जानकारी मिलती है कि इस समय, एक ही स्टॉप से बसें कितने समय के अंतराल पर रवाना होंगी. उदाहरण के लिए, अगर बस के बीच का समय 600 सेकंड है, तो बस छूट जाने पर आपको दस मिनट इंतज़ार करना होगा.

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

transitLine

object (TransitLine)

इस चरण में इस्तेमाल की गई ट्रांज़िट लाइन के बारे में जानकारी.

stopCount

integer

जाने की जगह से लेकर पहुंचने की जगह तक के स्टॉप की संख्या. इस संख्या में बस स्टॉप पर पहुंचने की जानकारी शामिल होती है, लेकिन वहां से बस के रवाना होने की जानकारी शामिल नहीं होती. उदाहरण के लिए, अगर आपका रास्ता स्टॉप A से शुरू होता है, स्टॉप B और C से होकर गुज़रता है, और स्टॉप D पर पहुंचता है, तो stopCount 3 दिखाता है.

tripShortText

string

यह वह टेक्स्ट होता है जो शेड्यूल और साइन बोर्ड पर दिखता है. इससे यात्रियों को बस, मेट्रो वगैरह से की जाने वाली यात्रा की पहचान करने में मदद मिलती है. टेक्स्ट से, सेवा के दिन की किसी यात्रा की यूनीक पहचान होनी चाहिए. उदाहरण के लिए, "538" Amtrak ट्रेन का tripShortText है. यह ट्रेन, हफ़्ते के दिनों में कैलिफ़ोर्निया के सैन होज़े से दोपहर 3:10 बजे कैलिफ़ोर्निया के सैक्रामेंटो के लिए रवाना होती है.

TransitStopDetails

RouteLegStep के लिए, बस स्टॉप की जानकारी.

JSON के काेड में दिखाना
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
फ़ील्ड
arrivalStop

object (TransitStop)

इस चरण के लिए, बस के पहुंचने के स्टॉप की जानकारी.

arrivalTime

string (Timestamp format)

इस चरण के लिए पहुंचने का अनुमानित समय.

यह आरएफ़सी 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".

departureStop

object (TransitStop)

इस चरण के लिए, बस के छूटने के स्टॉप के बारे में जानकारी.

departureTime

string (Timestamp format)

इस चरण के लिए, बस के रवाना होने का अनुमानित समय.

यह आरएफ़सी 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".

TransitStop

बस, मेट्रो वगैरह के स्टॉप के बारे में जानकारी.

JSON के काेड में दिखाना
{
  "name": string,
  "location": {
    object (Location)
  }
}
फ़ील्ड
name

string

बस, मेट्रो वगैरह के स्टॉप का नाम.

location

object (Location)

स्टॉप की जगह को अक्षांश/देशांतर के कोऑर्डिनेट में दिखाया जाता है.

TransitDetailsLocalizedValues

RouteTransitDetails के लिए वैल्यू की स्थानीय भाषा में जानकारी.

JSON के काेड में दिखाना
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
फ़ील्ड
arrivalTime

object (LocalizedTime)

टाइम ज़ोन के हिसाब से, फ़ॉर्मैट किए गए टेक्स्ट के तौर पर समय.

departureTime

object (LocalizedTime)

टाइम ज़ोन के हिसाब से, फ़ॉर्मैट किए गए टेक्स्ट के तौर पर समय.

LocalizedTime

समय की जानकारी, स्थानीय भाषा में दी गई है.

JSON के काेड में दिखाना
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
फ़ील्ड
time

object (LocalizedText)

किसी टाइम ज़ोन में, स्ट्रिंग के तौर पर बताया गया समय.

timeZone

string

इसमें टाइम ज़ोन की जानकारी होती है. यह वैल्यू, आईएएनए टाइम ज़ोन डेटाबेस में तय किए गए टाइम ज़ोन का नाम है. उदाहरण के लिए, "America/New_York".

TransitLine

इसमें इस चरण में इस्तेमाल की गई बस, मेट्रो वगैरह का रूट मैप के बारे में जानकारी होती है.

JSON के काेड में दिखाना
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
फ़ील्ड
agencies[]

object (TransitAgency)

वह ट्रांसपोर्ट एजेंसी (या एजेंसियां) जो बस, मेट्रो वगैरह के इस रूट मैप को मैनेज करती हैं.

name

string

इस ट्रांज़िट लाइन का पूरा नाम. उदाहरण के लिए, "8th Avenue Local".

uri

string

ट्रांसपोर्ट एजेंसी की ओर से दी गई इस ट्रांज़िट लाइन का यूआरआई.

color

string

इस लाइन के साइनेज में आम तौर पर इस्तेमाल किया जाने वाला रंग. इसे हेक्साडेसिमल फ़ॉर्मैट में दिखाया जाता है.

iconUri

string

इस लाइन से जुड़े आइकॉन का यूआरआई.

nameShort

string

बस, मेट्रो वगैरह की इस लाइन का छोटा नाम. आम तौर पर, यह नाम लाइन नंबर होता है. जैसे, "M7" या "355".

textColor

string

इस लाइन के साइनेज पर मौजूद टेक्स्ट में आम तौर पर इस्तेमाल किया जाने वाला रंग. इसे हेक्साडेसिमल फ़ॉर्मैट में दिखाया जाता है.

vehicle

object (TransitVehicle)

इस बस, मेट्रो वगैरह के रूट मैप पर चलने वाले वाहन का टाइप.

TransitAgency

बस, मेट्रो वगैरह की लाइन चलाने वाली ट्रांसपोर्ट एजेंसी.

JSON के काेड में दिखाना
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
फ़ील्ड
name

string

इस सार्वजनिक परिवहन एजेंसी का नाम.

phoneNumber

string

ट्रांसपोर्ट एजेंसी का, स्थान-भाषा के हिसाब से फ़ॉर्मैट किया गया फ़ोन नंबर.

uri

string

ट्रांसपोर्ट एजेंसी का यूआरआई.

TransitVehicle

यात्रा के रास्तों में इस्तेमाल किए गए वाहन के बारे में जानकारी.

JSON के काेड में दिखाना
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
फ़ील्ड
name

object (LocalizedText)

इस वाहन का नाम, कैपिटल लेटर में.

type

enum (TransitVehicleType)

इस्तेमाल किए गए वाहन का टाइप.

iconUri

string

इस वाहन के टाइप से जुड़े आइकॉन का यूआरआई.

localIconUri

string

स्थानीय परिवहन के साइनेज के आधार पर, इस वाहन के टाइप से जुड़े आइकॉन का यूआरआई.

TransitVehicleType

ट्रांज़िट के रास्तों के लिए वाहनों का टाइप.

Enums
TRANSIT_VEHICLE_TYPE_UNSPECIFIED इस्तेमाल नहीं किया गया.
BUS बस.
CABLE_CAR यह केबल से चलने वाला वाहन होता है. आम तौर पर, यह ज़मीन पर चलता है. एरियल केबल कार, GONDOLA_LIFT टाइप की हो सकती हैं.
COMMUTER_TRAIN कम्यूटर रेल.
FERRY फ़ेरी.
FUNICULAR एक ऐसा वाहन जिसे केबल की मदद से, खड़ी चढ़ाई वाली सड़क पर खींचा जाता है. आम तौर पर, फ़्यूनिक्युलर में दो कार होती हैं. इनमें से हर कार, दूसरी कार के लिए काउंटरवेट का काम करती है.
GONDOLA_LIFT एरियल केबल कार.
HEAVY_RAIL हैवी रेल.
HIGH_SPEED_TRAIN हाई स्पीड ट्रेन.
INTERCITY_BUS एक शहर से दूसरे शहर जाने वाली बस.
LONG_DISTANCE_TRAIN लंबी दूरी की ट्रेन.
METRO_RAIL लाइट रेल ट्रांज़िट.
MONORAIL मोनोरेल.
OTHER अन्य सभी वाहन.
RAIL रेल.
SHARE_TAXI शेयर टैक्सी, बस की तरह होती है. यह अपने रूट पर कहीं भी यात्रियों को उतार और चढ़ा सकती है.
SUBWAY भूमिगत लाइट रेल.
TRAM ज़मीन के ऊपर से जाने वाली लाइट रेल.
TROLLEYBUS ट्रॉलीबस.

RouteLegTravelAdvisory

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

JSON के काेड में दिखाना
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
फ़ील्ड
tollInfo

object (TollInfo)

इस कुकी में, किसी खास RouteLeg पर लगने वाले टोल की जानकारी होती है. यह फ़ील्ड सिर्फ़ तब भरा जाता है, जब हमें लगता है कि RouteLeg पर टोल हैं और TOLLS को अनुरोध के ComputeRoutesRequest.extra_computations में शामिल किया गया है. अगर यह फ़ील्ड सेट है, लेकिन estimatedPrice सब-फ़ील्ड में वैल्यू नहीं भरी गई है, तो इसका मतलब है कि सड़क पर टोल है, लेकिन हमें अनुमानित कीमत के बारे में जानकारी नहीं है. अगर tollInfo मौजूद नहीं है, तो RouteLeg पर कोई टोल नहीं लगता.

speedReadingIntervals[]

object (SpeedReadingInterval)

ट्रैफ़िक की डेंसिटी दिखाने वाले स्पीड रीडिंग इंटरवल. यह फ़ील्ड सिर्फ़ उन अनुरोधों के लिए भरा जाता है जिनमें TRAFFIC_AWARE या TRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routing_preference वैल्यू होती है. साथ ही, TRAFFIC_ON_POLYLINE को ComputeRoutesRequest.extra_computations में शामिल किया जाता है. इंटरवल, RouteLeg की पूरी पॉलीलाइन को बिना ओवरलैप किए कवर करते हैं. किसी इंटरवल की शुरुआत का समय, उससे पहले वाले इंटरवल के खत्म होने के समय के बराबर होता है.

उदाहरण:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegLocalizedValues

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

JSON के काेड में दिखाना
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
फ़ील्ड
distance

object (LocalizedText)

टेक्स्ट फ़ॉर्म में यात्रा की दूरी दिखाई गई है.

duration

object (LocalizedText)

अवधि, जिसे टेक्स्ट के तौर पर दिखाया जाता है और क्वेरी के देश/इलाके के हिसाब से स्थानीय भाषा में दिखाया जाता है. इसमें ट्रैफ़िक का हाल ध्यान में रखा जाता है. ध्यान दें: अगर आपने ट्रैफ़िक की जानकारी का अनुरोध नहीं किया है, तो यह वैल्यू, staticDuration के बराबर होती है.

staticDuration

object (LocalizedText)

ट्रैफ़िक का हाल ध्यान में रखे बिना, यात्रा में लगने वाला समय. इसे टेक्स्ट के तौर पर दिखाया जाता है.

StepsOverview

इससे RouteLegStep की सूची के बारे में खास जानकारी मिलती है.

JSON के काेड में दिखाना
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
फ़ील्ड
multiModalSegments[]

object (MultiModalSegment)

RouteLeg.steps के अलग-अलग मल्टी-मॉडल सेगमेंट के बारे में खास जानकारी. अगर RouteLeg में चरणों के दौरान कोई मल्टी-मॉडल सेगमेंट शामिल नहीं है, तो इस फ़ील्ड में जानकारी नहीं भरी जाती.

MultiModalSegment

यह RouteLeg.steps के अलग-अलग मल्टी-मॉडल सेगमेंट के बारे में खास जानकारी देता है. एक से ज़्यादा मोड वाले सेगमेंट को एक या उससे ज़्यादा लगातार RouteLegStep के तौर पर तय किया जाता है. इन सभी में एक ही RouteTravelMode होता है. अगर RouteLeg में चरणों के दौरान कोई मल्टी-मॉडल सेगमेंट शामिल नहीं है, तो इस फ़ील्ड में जानकारी नहीं भरी जाती.

JSON के काेड में दिखाना
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
फ़ील्ड
navigationInstruction

object (NavigationInstruction)

मल्टी-मॉडल सेगमेंट के लिए NavigationInstruction.

travelMode

enum (RouteTravelMode)

अलग-अलग मोड से की जाने वाली यात्रा के सेगमेंट का यात्रा मोड.

stepStartIndex

integer

यह मल्टी-मॉडल सेगमेंट की शुरुआत का RouteLegStep इंडेक्स है.

stepEndIndex

integer

यह उस RouteLegStep का इंडेक्स होता है जो मल्टी-मॉडल सेगमेंट के आखिर में होता है.

व्यूपोर्ट

अक्षांश-देशांतर व्यूपोर्ट, जिसे दो विपरीत कोनों वाले low और high पॉइंट के तौर पर दिखाया गया है. व्यू पोर्ट को एक बंद क्षेत्र माना जाता है. इसका मतलब है कि इसमें इसकी सीमा शामिल होती है. अक्षांश की सीमाएं -90 से 90 डिग्री के बीच होनी चाहिए. साथ ही, देशांतर की सीमाएं -180 से 180 डिग्री के बीच होनी चाहिए. इनमें ये मामले शामिल हैं:

  • अगर low = high है, तो व्यूपोर्ट में सिर्फ़ एक पॉइंट होता है.

  • अगर low.longitude > high.longitude है, तो देशांतर की रेंज उल्टी हो जाती है. इसका मतलब है कि व्यूपोर्ट, 180 डिग्री देशांतर की लाइन को पार कर जाता है.

  • अगर low.longitude = -180 डिग्री और high.longitude = 180 डिग्री है, तो व्यूपोर्ट में सभी देशांतर शामिल होते हैं.

  • अगर low.longitude = 180 डिग्री और high.longitude = -180 डिग्री है, तो देशांतर की सीमा खाली होती है.

  • अगर low.latitude > high.latitude है, तो अक्षांश की रेंज खाली होती है.

low और high, दोनों फ़ील्ड में वैल्यू मौजूद होनी चाहिए. साथ ही, दिखाए गए बॉक्स में कोई वैल्यू मौजूद होनी चाहिए. ऊपर दी गई परिभाषाओं के मुताबिक, बॉक्स खाली नहीं होना चाहिए. व्यू पोर्ट खाली होने पर गड़बड़ी होगी.

उदाहरण के लिए, इस व्यूपोर्ट में न्यूयॉर्क शहर की पूरी जानकारी शामिल है:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

JSON के काेड में दिखाना
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
फ़ील्ड
low

object (LatLng)

ज़रूरी है. व्यूपोर्ट का सबसे निचला पॉइंट.

high

object (LatLng)

ज़रूरी है. व्यूपोर्ट का सबसे ऊपरी हिस्सा.

RouteLocalizedValues

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

JSON के काेड में दिखाना
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
फ़ील्ड
distance

object (LocalizedText)

टेक्स्ट फ़ॉर्म में यात्रा की दूरी दिखाई गई है.

duration

object (LocalizedText)

अवधि, जिसे टेक्स्ट के तौर पर दिखाया जाता है और क्वेरी के देश/इलाके के हिसाब से स्थानीय भाषा में दिखाया जाता है. इसमें ट्रैफ़िक का हाल ध्यान में रखा जाता है. ध्यान दें: अगर आपने ट्रैफ़िक की जानकारी का अनुरोध नहीं किया है, तो यह वैल्यू, staticDuration की वैल्यू के बराबर होती है.

staticDuration

object (LocalizedText)

ट्रैफ़िक का हाल ध्यान में रखे बिना, यात्रा में लगने वाला समय. इसे टेक्स्ट के तौर पर दिखाया जाता है.

transitFare

object (LocalizedText)

बस, मेट्रो वगैरह के किराये की जानकारी टेक्स्ट के तौर पर दी गई है.

PolylineDetails

किसी इंडेक्स या पॉलीलाइन के आस-पास के सेगमेंट से जुड़ी जानकारी. P_0, P_1, ... , P_N (शून्य पर आधारित इंडेक्स) पॉइंट वाली पॉलीलाइन के लिए, PolylineDetails एक इंटरवल और उससे जुड़ा मेटाडेटा तय करता है.

JSON के काेड में दिखाना
{
  "tunnelInfo": [
    {
      object (TunnelInfo)
    }
  ],
  "restrictionInfo": [
    {
      object (RestrictionInfo)
    }
  ],
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ],
  "bridgeInfo": [
    {
      object (BridgeInfo)
    }
  ],
  "skywayInfo": [
    {
      object (SkywayInfo)
    }
  ]
}
फ़ील्ड
tunnelInfo[]

object (TunnelInfo)

पॉलीलाइन के साथ-साथ टनल की जानकारी. इस फ़ील्ड में जानकारी तब दिखती है, जब अनुरोध में avoidTunnels रूट मॉडिफ़ायर के बारे में बताया गया हो और नतीजे के तौर पर मिले रूट में टनल शामिल हों. इसके अलावा, ऐसा तब भी होता है, जब extraComputations में TUNNEL_INFO_ON_POLYLINE के बारे में बताया गया हो और रूट में टनल शामिल हों.

restrictionInfo[]

object (RestrictionInfo)

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

flyoverInfo[]

object (FlyoverInfo)

पॉलीलाइन के साथ-साथ फ़्लाइओवर की जानकारी.

narrowRoadInfo[]

object (NarrowRoadInfo)

पॉलीलाइन के साथ-साथ संकरी सड़क की जानकारी.

bridgeInfo[]

object (BridgeInfo)

पॉलीलाइन के साथ-साथ पुल की जानकारी.

skywayInfo[]

object (SkywayInfo)

पॉलीलाइन के साथ-साथ स्काईवे की जानकारी.

TunnelInfo

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

JSON के काेड में दिखाना
{
  "tunnelPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
फ़ील्ड
tunnelPresence

enum (RoadFeatureState)

इससे पता चलता है कि पॉलीलाइन के किसी हिस्से के लिए कोई टनल मौजूद है या नहीं.

polylinePointIndex

object (PolylinePointIndex)

पॉलीलाइन के साथ-साथ, सुरंग से जुड़ी जानकारी की जगह.

RoadFeatureState

इसमें पॉलीलाइन के किसी हिस्से के साथ-साथ सड़क की सुविधाओं की स्थितियां शामिल होती हैं.

Enums
ROAD_FEATURE_STATE_UNSPECIFIED सड़क की सुविधा की स्थिति का हिसाब नहीं लगाया गया (डिफ़ॉल्ट वैल्यू).
EXISTS सड़क की सुविधा मौजूद है.
DOES_NOT_EXIST सड़क की सुविधा मौजूद नहीं है.

PolylinePointIndex

इसमें पॉलीलाइन की जानकारी के लिए, शुरू और खत्म होने वाले इंडेक्स शामिल होते हैं. अगर डेटा किसी एक पॉइंट से जुड़ा है, तो startIndex और endIndex की वैल्यू बराबर होगी.

JSON के काेड में दिखाना
{
  "startIndex": integer,
  "endIndex": integer
}
फ़ील्ड
startIndex

integer

यह पॉलीलाइन में इस जानकारी का शुरुआती इंडेक्स है.

endIndex

integer

पॉलीलाइन में इस जानकारी का आखिरी इंडेक्स.

RestrictionInfo

इस फ़ील्ड में, पॉलीलाइन के साथ-साथ अलग-अलग पाबंदियों के बारे में जानकारी होती है.

JSON के काेड में दिखाना
{
  "restrictionPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "restrictedHeightMm": string,
  "restrictedWeightKg": string,
  "hazardousGoods": boolean,
  "trucksProhibited": boolean
  // End of mutually exclusive fields.
}
फ़ील्ड
restrictionPresence

enum (RoadFeatureState)

सिर्फ़ आउटपुट के लिए. इससे पता चलता है कि पॉलीलाइन के किसी हिस्से पर पाबंदी है या नहीं.

polylinePointIndex

object (PolylinePointIndex)

पॉलीलाइन पर पाबंदी से जुड़ी जानकारी की जगह.

इसमें पाबंदियों के उन टाइप को शामिल किया जाता है जो पॉलीलाइन के किसी हिस्से पर लागू हो सकती हैं. यहां ऐसे फ़ील्ड की सूची दी गई है जिनमें से सिर्फ़ एक को चुना जा सकता है. जवाब में ज़्यादा से ज़्यादा एक फ़ील्ड सेट किया जाएगा:
restrictedHeightMm

string (int64 format)

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

restrictedWeightKg

string (int64 format)

वज़न की सीमा, किलोग्राम में. इस फ़ील्ड में जानकारी तब अपने-आप भर जाती है, जब वज़न की पाबंदी की वजह से रास्ता बंद हो जाता है या पाबंदी, तय किए गए वाहन के वज़न के आस-पास होती है.

hazardousGoods

boolean

खतरनाक सामान ले जाने पर पाबंदी होने पर, इस फ़ील्ड को 'सही है' पर सेट किया जाता है.

trucksProhibited

boolean

ट्रकों के इस्तेमाल पर पाबंदी होने पर, इस फ़ील्ड को 'सही है' पर सेट किया जाता है.

एक-दूसरे से अलग फ़ील्ड खत्म होने का समय.

FlyoverInfo

इसमें पॉलीलाइन के साथ-साथ फ़्लाइओवर के बारे में जानकारी होती है.

JSON के काेड में दिखाना
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
फ़ील्ड
flyoverPresence

enum (RoadFeatureState)

सिर्फ़ आउटपुट के लिए. इससे पता चलता है कि पॉलीलाइन के किसी हिस्से के लिए फ़्लाइओवर मौजूद है या नहीं.

polylinePointIndex

object (PolylinePointIndex)

पॉलीलाइन के साथ-साथ फ़्लाइओवर से जुड़ी जानकारी की जगह.

NarrowRoadInfo

इसमें पॉलीलाइन के साथ-साथ संकरी सड़कों के बारे में जानकारी होती है.

JSON के काेड में दिखाना
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
फ़ील्ड
narrowRoadPresence

enum (RoadFeatureState)

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

polylinePointIndex

object (PolylinePointIndex)

पॉलीलाइन के साथ-साथ, संकरी सड़क से जुड़ी जानकारी की जगह.

BridgeInfo

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

JSON के काेड में दिखाना
{
  "bridgePresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
फ़ील्ड
bridgePresence

enum (RoadFeatureState)

इससे पता चलता है कि पॉलीलाइन के किसी हिस्से के लिए ब्रिज मौजूद है या नहीं.

polylinePointIndex

object (PolylinePointIndex)

पॉलीलाइन के साथ-साथ पुल से जुड़ी जानकारी की जगह.

SkywayInfo

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

JSON के काेड में दिखाना
{
  "skywayPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
फ़ील्ड
skywayPresence

enum (RoadFeatureState)

इससे पता चलता है कि पॉलीलाइन के किसी हिस्से के लिए स्काईवे मौजूद है या नहीं.

polylinePointIndex

object (PolylinePointIndex)

पॉलीलाइन के साथ-साथ स्काईवे से जुड़ी जानकारी की जगह.

GeocodingResults

इसमें यात्रा शुरू करने की जगह, मंज़िल, और इंटरमीडिएट वेपॉइंट के लिए GeocodedWaypoints शामिल है. यह सिर्फ़ पते के वेपॉइंट के लिए अपने-आप भरता है.

JSON के काेड में दिखाना
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
फ़ील्ड
origin

object (GeocodedWaypoint)

जियोकोड किया गया मूल वेपॉइंट.

destination

object (GeocodedWaypoint)

जियोकोड किया गया डेस्टिनेशन वेपॉइंट.

intermediates[]

object (GeocodedWaypoint)

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

GeocodedWaypoint

रास्ते में पड़ने वाली जगहों के तौर पर इस्तेमाल की गई जगहों के बारे में जानकारी. यह सिर्फ़ पते के वेपॉइंट के लिए अपने-आप भरता है. इसमें जियोकोडिंग के नतीजों के बारे में जानकारी शामिल होती है. इससे यह पता चलता है कि पते को किस जगह के हिसाब से जियोकोड किया गया था.

JSON के काेड में दिखाना
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
फ़ील्ड
geocoderStatus

object (Status)

इससे जियोकोडिंग ऑपरेशन से मिले स्टेटस कोड की जानकारी मिलती है.

type[]

string

नतीजे का टाइप, शून्य या उससे ज़्यादा टाइप टैग के तौर पर. इस तरह के ऑब्जेक्ट इस्तेमाल किए जा सकते हैं: पते के टाइप और पते के कॉम्पोनेंट टाइप.

partialMatch

boolean

इससे पता चलता है कि जियोकोडर, मूल अनुरोध के लिए एग्ज़ैक्ट मैच नहीं दे सका. हालांकि, वह अनुरोध किए गए पते के कुछ हिस्से से मेल खाने वाला नतीजा दे सका. ऐसा हो सकता है कि आपने पते में स्पेलिंग की कोई गलती की हो या पता अधूरा हो. इसलिए, हमारा सुझाव है कि आप मूल अनुरोध की जांच करें.

placeId

string

इस नतीजे के लिए जगह का आईडी.

intermediateWaypointRequestIndex

integer

अनुरोध में दिए गए इंटरमीडिएट वेपॉइंट का इंडेक्स. यह सिर्फ़ तब अपने-आप भरता है, जब इससे जुड़ा वेपॉइंट इंटरमीडिएट वेपॉइंट हो.