रास्ते के जवाब की समीक्षा करें

जब Routes API किसी रूट का पता लगाता है, तो वह आपके इनपुट के तौर पर वेपॉइंट और कॉन्फ़िगरेशन पैरामीटर लेता है. इसके बाद, एपीआई ऐसा रिस्पॉन्स दिखाता है जिसमें डिफ़ॉल्ट रूट और एक या ज़्यादा वैकल्पिक रूट शामिल होते हैं.

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

जवाब में इसे शामिल करने के लिए यह दस्तावेज़ देखें
वाहन के इंजन के हिसाब से, ईंधन या ऊर्जा की सबसे कम खपत वाला रास्ता. ईको-फ़्रेंडली रास्ते कॉन्फ़िगर करना
ज़्यादा से ज़्यादा तीन वैकल्पिक रास्ते दूसरे रास्तों का अनुरोध करना
पूरे रास्ते, रास्ते के हर चरण, और हर कदम के लिए पॉलीलाइन. रूट की पॉलीलाइन का अनुरोध करें
अनुमानित टोल, इसमें ड्राइवर या वाहन के लिए उपलब्ध टोल की कीमत पर मिलने वाली छूट या पास को ध्यान में रखते हुए दिखाया जाता है. टोल शुल्क का हिसाब लगाना
भाषा के कोड और मेज़रमेंट यूनिट (इंपीरियल या मेट्रिक) के हिसाब से, स्थानीय जगह के अनुसार जवाब. स्थानीय भाषा में लिखी गई वैल्यू के लिए अनुरोध करना
नेविगेशन निर्देशों को एचटीएमएल टेक्स्ट स्ट्रिंग के तौर पर फ़ॉर्मैट करने के लिए, extraComputations में HTML_FORMATTED_NAVIGATION_INSTRUCTIONS जोड़ें. अतिरिक्त गणना

इनपुट के विकल्पों की पूरी सूची के लिए, उपलब्ध रास्ते के विकल्प और अनुरोध का मुख्य हिस्सा देखें.

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

फ़ील्ड मास्क के बारे में जानकारी

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

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

ज़्यादा जानकारी के लिए, चुनें कि कौनसी जानकारी दिखानी है.

कॉपीराइट दिखाने के बारे में जानकारी

उपयोगकर्ताओं को नतीजों को दिखाते समय, आपको कॉपीराइट से जुड़े यहां दिए गए स्टेटमेंट को शामिल करना होगा:

Powered by Google, ©YEAR Google

उदाहरण के लिए:

Powered by Google, ©2023 Google

रास्ते, टांगों, और कदमों के बारे में जानकारी

Routes API से मिले रिस्पॉन्स को देखने से पहले, आपको रूट बनाने वाले कॉम्पोनेंट की समझ होनी चाहिए:

रास्ता, पैर, और कदम.

आपके जवाब में, रास्ते के इन कॉम्पोनेंट के बारे में जानकारी हो सकती है:

  • रूट: मूल वेपॉइंट से, किसी भी बीच के वेपॉइंट से होते हुए, मंज़िल वेपॉइंट तक की पूरी यात्रा. एक रास्ते में एक या उससे ज़्यादा पैर होती हैं.

  • लेग: किसी रास्ते में एक वेपॉइंट से अगले वेपॉइंट तक का रास्ता. हर चरण में एक या उससे ज़्यादा चरण होते हैं.

    किसी रूट में हर वेपॉइंट से अगले तक के पाथ के लिए एक अलग लेग होता है. उदाहरण के लिए, अगर रास्ते में एक ऑरिजिन वेपॉइंट और एक ही डेस्टिनेशन वेपॉइंट है, तो रूट में एक ही लेग होगा. ऑरिजिन और डेस्टिनेशन के बाद रूट में जोड़े जाने वाले हर अतिरिक्त वेपॉइंट के लिए, एपीआई एक अलग पाथ जोड़ता है. इसे इंटरमीडिएट वेपॉइंट कहा जाता है.

    एपीआई, पास-थ्रू इंटरमीडिएट वेपॉइंट के लिए कोई लेग नहीं जोड़ता है. उदाहरण के लिए, एक ऐसा रास्ता जिसमें ऑरिजिन वेपॉइंट, पास-थ्रू इंटरमीडिएट वेपॉइंट, और डेस्टिनेशन वेपॉइंट होता है, जिसमें वेपॉइंट से गुज़रते हुए ऑरिजिन से डेस्टिनेशन तक सिर्फ़ एक लेग होता है. पास-थ्रू वेपॉइंट के बारे में ज़्यादा जानकारी के लिए, पास-थ्रू वेपॉइंट तय करना लेख देखें.

  • चरण: किसी रास्ते के साथ-साथ चलने वाला एक निर्देश. कदम किसी रास्ते की सबसे परमाणु इकाई होता है. उदाहरण के लिए, किसी चरण से यह पता चल सकता है कि "मुख्य सड़क पर बाईं ओर जाएं''.

जवाब में क्या है

एपीआई से मिले रिस्पॉन्स को दिखाने वाले JSON ऑब्जेक्ट में, ये टॉप-लेवल प्रॉपर्टी शामिल हैं:

  • routes, रूट टाइप के एलिमेंट का कलेक्शन. routes कलेक्शन में, एपीआई से मिले हर रूट के लिए एक एलिमेंट शामिल होता है. कलेक्शन में ज़्यादा से ज़्यादा पांच एलिमेंट हो सकते हैं: डिफ़ॉल्ट रूट, ईको-फ़्रेंडली रूट, और ज़्यादा से ज़्यादा तीन वैकल्पिक रास्ते.

  • geocodingResults, GeocodingResults टाइप के एलिमेंट की कैटगरी होती है. अनुरोध में शामिल हर उस जगह (ऑरिजिन, डेस्टिनेशन या इंटरमीडिएट वेपॉइंट) के लिए जिसे आपने पता स्ट्रिंग या प्लस कोड के तौर पर बताया है, एपीआई प्लेस आईडी लुकअप करता है. इस श्रेणी के हर एलिमेंट में किसी जगह से जुड़ा स्थान आईडी होता है. अनुरोध में बताई गई जगहों की जानकारी को जगह के आईडी या अक्षांश/देशांतर निर्देशांक के तौर पर शामिल नहीं किया जाता. अगर आपने जगह के आईडी या अक्षांश और देशांतर निर्देशांक का इस्तेमाल करके सभी जगहों की जानकारी दी है, तो यह अरे नहीं दिया जाता.

  • fallbackInfo, टाइप FallbackInfo. अगर एपीआई सभी इनपुट प्रॉपर्टी से रूट का पता नहीं लगा पाता, तो हो सकता है कि यह कंप्यूटेशन के किसी दूसरे तरीके का इस्तेमाल करे. फ़ॉलबैक मोड का इस्तेमाल करने पर, इस फ़ील्ड में फ़ॉलबैक रिस्पॉन्स के बारे में ज़्यादा जानकारी होती है. ऐसा न करने पर, यह फ़ील्ड सेट नहीं होता है.

रिस्पॉन्स में यह फ़ॉर्म है:

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

रूट अरे को पढ़ें

रिस्पॉन्स में routes कलेक्शन शामिल होता है. इसमें ऐरे एलिमेंट का हर एलिमेंट Route टाइप का होता है. कलेक्शन का हर एलिमेंट, ऑरिजिन से डेस्टिनेशन तक के पूरे रूट को दिखाता है. एपीआई हमेशा कम से कम एक रूट दिखाता है, जिसे डिफ़ॉल्ट रूट कहा जाता है.

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

कलेक्शन में मौजूद हर रूट की पहचान, routeLabels ऐरे प्रॉपर्टी से की जाती है:

वैल्यू ब्यौरा
DEFAULT_ROUTE डिफ़ॉल्ट रास्ते की पहचान करता है.
FUEL_EFFICIENT ईको-फ़्रेंडली रास्ते की पहचान करता है.
DEFAULT_ROUTE_ALTERNATE किसी दूसरे रास्ते को दिखाता है.

legs कलेक्शन में, रूट के हर लेग की परिभाषा शामिल होती है. बाकी प्रॉपर्टी, जैसे कि distanceMeters, duration, और polyline, में रूट के बारे में पूरी जानकारी मौजूद है:

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

ड्राइविंग की मौजूदा स्थितियों और दूसरी वजहों से, डिफ़ॉल्ट रास्ता और ईको-फ़्रेंडली रास्ता एक जैसा हो सकता है. इस मामले में, routeLabels कलेक्शन में दोनों लेबल शामिल हैं: DEFAULT_ROUTE और FUEL_EFFICIENT.

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     …
    }
  ]
}

लेग अरे को समझें

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

legs प्रॉपर्टी में, steps कैटगरी में लेग के हर चरण की परिभाषा दी गई है. बाकी प्रॉपर्टी, जैसे कि distanceMeters, duration, और polyline में पैर की जानकारी शामिल होती है.

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

चरणों के कलेक्शन को समझना

रिस्पॉन्स में हर लेग में एक steps कलेक्शन होता है. इसमें, ऐरे एलिमेंट का हर steps एलिमेंट RouteLegStep टाइप का होता है. एक कदम पैर के साथ चलने वाले एक निर्देश से मेल खाता है. पैर में हमेशा कम से कम एक चरण होता है.

steps के कलेक्शन के हर एलिमेंट में NavigationInstruction टाइप की navigationInstruction प्रॉपर्टी शामिल होती है, जिसमें चरण से जुड़ा निर्देश होता है. उदाहरण के लिए:

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

instructions में चरण के बारे में ज़्यादा जानकारी हो सकती है. उदाहरण के लिए:

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

चरण की बाकी प्रॉपर्टी, चरण के बारे में जानकारी देती हैं, जैसे कि distanceMeters, duration, और polyline:

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

चरण के निर्देशों की भाषा बताएं

एपीआई, रास्ते की जानकारी स्थानीय भाषा में दिखाता है. यह जानकारी उस स्क्रिप्ट में ट्रांसलिट्रेट की जाती है जिसे उपयोगकर्ता ज़रूरत पड़ने पर पढ़ सकता है. यह जानकारी, पसंदीदा भाषा को देखते हुए भी होती है. पते के सभी कॉम्पोनेंट एक ही भाषा में दिखाए जाते हैं.

  • इस्तेमाल की जाने वाली भाषाओं की सूची से रूट की भाषा को साफ़ तौर पर सेट करने के लिए, अनुरोध के languageCode पैरामीटर का इस्तेमाल करें. Google अक्सर काम करने वाली भाषाओं को अपडेट करता है. इसलिए, हो सकता है कि इस सूची में पूरी जानकारी शामिल न हो.

  • अगर कोई नाम बताई गई भाषा में उपलब्ध नहीं है, तो एपीआई सबसे नज़दीकी मैच का इस्तेमाल करता है.

  • बताई गई भाषा, रिटर्न के लिए चुने गए नतीजों के सेट और उन्हें दिखाए जाने के क्रम पर असर डाल सकती है. जियोकोडर, भाषा के आधार पर शॉर्ट फ़ॉर्म के शब्दों का अलग-अलग मतलब निकालता है. जैसे, सड़कों के नाम के लिए शॉर्ट फ़ॉर्म या समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं. उदाहरण के लिए, utca और tér हंगेरियन भाषा में सड़कों का समानार्थी शब्द हैं.

Geocodingresults कलेक्शन को समझें

अनुरोध में शामिल उन सभी जगहों (ऑरिजिन, डेस्टिनेशन या इंटरमीडिएट वेपॉइंट) के लिए जिन्हें पता स्ट्रिंग या प्लस कोड के तौर पर बताया गया था, एपीआई ऐसी हर जगह के लिए सबसे काम की जगह ढूंढने की कोशिश करता है जिसका एक जगह आईडी मौजूद होता है. geocodingResults कलेक्शन के हर एलिमेंट में placeID फ़ील्ड होता है. इसमें जगह का आईडी के तौर पर जगह की जानकारी होती है. साथ ही, type फ़ील्ड भी होता है, जिसमें अलग-अलग तरह की जगह की जानकारी दी जाती है, जैसे कि street_address, premise या airport.

geocodingResults कलेक्शन में तीन फ़ील्ड होते हैं:

  • origin: अगर इसे पता स्ट्रिंग या प्लस कोड के तौर पर बताया गया था, तो ऑरिजिन की जगह का आईडी. ऐसा न होने पर, इस फ़ील्ड को जवाब में शामिल नहीं किया जाता.

  • destination: अगर इसे पता स्ट्रिंग या प्लस कोड के तौर पर बताया गया था, तो डेस्टिनेशन का जगह आईडी. ऐसा न होने पर, इस फ़ील्ड को जवाब में शामिल नहीं किया जाता.

  • intermediates: कलेक्शन, जिसमें किसी भी इंटरमीडिएट वेपॉइंट का प्लेस आईडी होता है जिसे पता स्ट्रिंग या Plus Code के तौर पर बताया जाता है. अगर किसी जगह का आईडी या अक्षांश और देशांतर निर्देशांक का इस्तेमाल करके बीच का वेपॉइंट तय किया जाता है, तो उसे रिस्पॉन्स में शामिल नहीं किया जाता. रिस्पॉन्स में intermediateWaypointRequestIndex प्रॉपर्टी का इस्तेमाल करें, ताकि यह पता लगाया जा सके कि अनुरोध में मौजूद बीच का कौनसा वेपॉइंट, रिस्पॉन्स में प्लेस आईडी से जुड़ा है.

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

स्थानीय जगह के हिसाब से रिस्पॉन्स वैल्यू को समझना

स्थानीय जगह के अनुसार रिस्पॉन्स वैल्यू, एक से ज़्यादा रिस्पॉन्स फ़ील्ड होते हैं. इनसे मिलने वाली पैरामीटर वैल्यू के लिए, स्थानीय भाषा में टेक्स्ट दिया जाता है. स्थानीय जगह के अनुसार टेक्स्ट, यात्रा की अवधि, दूरी, और यूनिट सिस्टम (मेट्रिक या इंपीरियल) के लिए दिया जाता है. फ़ील्ड मास्क का इस्तेमाल करके, स्थानीय भाषा के मुताबिक वैल्यू का अनुरोध किया जा सकता है. साथ ही, आपके पास भाषा और यूनिट सिस्टम की जानकारी देने या एपीआई से अनुमानित वैल्यू इस्तेमाल करने का विकल्प होता है. ज़्यादा जानकारी के लिए, LocalizedValues देखें.

उदाहरण के लिए, अगर जर्मन (de) और इंपीरियल इकाइयों के लिए भाषा कोड तय किया जाता है, तो आपको distanceMeters के लिए 49889.7 वैल्यू मिलेगी.

यहां दिए गए उदाहरण में बताया गया है कि स्थानीय भाषा के हिसाब से वैल्यू के लिए आपको क्या दिखेगा:

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

अगर भाषा या यूनिट सिस्टम की जानकारी नहीं दी जाती है, तो एपीआई भाषा और यूनिट का पता इस तरह लगाता है:

  • ComputeRoutes वाला तरीका, ऑरिजिन वेपॉइंट से जगह और दूरी की इकाइयों का अनुमान लगाता है. इसलिए, अमेरिका में रूटिंग के अनुरोध के लिए, एपीआई en-US भाषा और IMPERIAL यूनिट का अनुमान लगाता है.
  • ComputeRouteMatrix वाला तरीका, डिफ़ॉल्ट रूप से 'en-US' भाषा और METRIC यूनिट पर सेट होता है.