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

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

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

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

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

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

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

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

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

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

ज़्यादा जानकारी के लिए, यह लेख पढ़ें: जवाब में कौनसी जानकारी शामिल करनी है.

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

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

Powered by Google, ©YEAR Google

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

Powered by Google, ©2023 Google

रूट, लेग, और स्टेप के बारे में जानकारी

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

रास्ता, लेग, और चरण.

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

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

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

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

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

  • स्टेप: रूट के लेग के साथ दिया गया एक निर्देश. स्टेप, रूट की सबसे छोटी यूनिट होती है. उदाहरण के लिए, किसी स्टेप में "मेन स्ट्रीट पर बाईं ओर मुड़ें" निर्देश दिया जा सकता है.

जवाब में शामिल जानकारी

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

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

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

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

जवाब का फ़ॉर्मैट यह होता है:

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

`routes` कलेक्शन को समझना

जवाब में 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"
      ],
     
    }
  ]
}

`legs` कलेक्शन को समझना

जवाब में मौजूद हर 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 कलेक्शन शामिल होता है. इसमें मौजूद हर 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 फ़ील्ड शामिल होता है. type फ़ील्ड में जगह का टाइप तय किया जाता है. जैसे, street_address, premise या airport.

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

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

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

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

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

{ "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 यूनिट का इस्तेमाल करता है.