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

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

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

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

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

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

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

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

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

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

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

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

Powered by Google, ©YEAR Google

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

Powered by Google, ©2023 Google

रास्तों, लेग, और चरणों के बारे में जानकारी

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

रूट, लेग, और चरण.

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

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

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

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

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

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

जवाब में क्या जानकारी मौजूद है

एपीआई के जवाब को दिखाने वाले 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 कलेक्शन को समझना

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

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

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

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

  • intermediates: यह एक कलेक्शन है, जिसमें किसी भी बीच के waypoints का प्लेस आईडी होता है. यह आईडी, पते की स्ट्रिंग या Plus कोड के तौर पर दिया जाता है. अगर आपने प्लेस आईडी या अक्षांश और देशांतर के निर्देशांक का इस्तेमाल करके, किसी बीच के रास्ते के वेपॉइंट की जानकारी दी है, तो उसे जवाब में शामिल नहीं किया जाएगा. रिस्पॉन्स में 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 मिलती है. साथ ही, आपको स्थानीय भाषा में लिखा गया टेक्स्ट भी मिलता है, जिसमें दूरी को जर्मन और इंपीरियल यूनिट में दिखाया जाता है. जैसे, "31 मील."

स्थानीय भाषा में दिखाई जाने वाली वैल्यू का उदाहरण यहां दिया गया है:

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

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

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