एक रास्ता तय करें, जिस पर से होकर गुज़रना है

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

ऐसा रूट जिसमें एक ऑरिजिन वेपॉइंट, एक पास-थ्रू इंटरमीडिएट वेपॉइंट, और डेस्टिनेशन वेपॉइंट होता है. इसमें सिर्फ़ एक रूट लेग होता है, जो इंटरमीडिएट (via) से गुजरते समय ऑरिजिन और डेस्टिनेशन को जोड़ता है.

किसी इंटरमीडिएट वेपॉइंट को पास-थ्रू वेपॉइंट के तौर पर कॉन्फ़िगर करने के लिए, वेपॉइंट की via प्रॉपर्टी को true पर सेट करें. इसके लिए, वेपॉइंट (REST) या वेपॉइंट (gRPC) में से किसी एक का इस्तेमाल करें.

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

नीचे दिए गए उदाहरण में, किसी इंटरमीडिएट वेपॉइंट को पास-थ्रू वेपॉइंट के तौर पर मार्क करने का तरीका बताया गया है.

{
  "location": {
    "latLng": {
      "latitude":37.419734,
      "longitude":-122.0827784
    }
  },
  "via": true
}

बीच के रास्ते पर मौजूद जगहों के आईडी ऐक्सेस करना

अगर किसी ऑरिजिन, डेस्टिनेशन या इंटरमीडिएट वेपॉइंट की जगह को पता स्ट्रिंग या प्लस कोड के तौर पर बताया जाता है, तो एपीआई सबसे काम की जगह ढूंढने की कोशिश करता है, जिसमें उसका जगह का आईडी मौजूद हो. नतीजों में मौजूद geocodingResults.intermediates ऐरे में, वैकल्पिक जगह की जानकारी के साथ-साथ, व्यूपॉइंट की जगह का प्लेस आईडी भी शामिल होता है.

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

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

  • किसी अनुरोध में तीन इंटरमीडिएट वेपॉइंट तय किए जाते हैं. इनमें से दो वॉइसपॉइंट के लिए पते की स्ट्रिंग दी गई है और एक के लिए अक्षांश/देशांतर निर्देशांक.

  • नतीजों में geocodingResults कलेक्शन दिखाने के लिए, रिस्पॉन्स फ़ील्ड मास्क में geocodingResults को शामिल किया जाता है.

curl -X POST -d '{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "24 Willie Mays Plaza, San Francisco, CA 94107"
  },
  "intermediates": [
    {
      "address": "450 Serra Mall, Stanford, CA 94305, USA"
    },
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    },
    {
      "address": "1836 El Camino Real, Redwood City, CA 94063"
    }
  ],
  "travelMode": "DRIVE",
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults'
'https://routes.googleapis.com/directions/v2:computeRoutes'

रिस्पॉन्स में geocodingResults कलेक्शन शामिल होता है. इसमें ऑरिजिन, डेस्टिनेशन, और तीन में से दो वेपॉइंट के लिए जगह का आईडी होता है. ये अनुरोध के इंडेक्स 0 और 2 पर मौजूद वॉपटेस्ट हैं. अनुरोध के इंडेक्स 1 में मौजूद वेपॉइंट, अक्षांश/देशांतर निर्देशांक का इस्तेमाल करके तय किया गया था. इसलिए, इसे रिस्पॉन्स में geocodingResults कलेक्शन से हटा दिया जाता है.

{
  "routes": [{...}],
  "geocodingResults": {
    "origin": {
      "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g"
    },
    "destination": {
     "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY"
    },
    "intermediates": [
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 0,
        "type": [
            "street_address"
        ],
        "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y"
      },
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 2,
        "type": [
          "premise"
        ],
        "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0"
      }
    ]
  }
}