डिफ़ॉल्ट रूप से, पिकअप और ड्रॉपऑफ़ के लिए इंटरमीडिएट वेपॉइंट का इस्तेमाल किया जाता है. हालांकि, यह भी तय किया जा सकता है कि इंटरमीडिएट वेपॉइंट का इस्तेमाल सिर्फ़ गुज़रने के लिए किया जाना है.
जिस रास्ते में शुरुआती वेपॉइंट, बीच का वेपॉइंट, और डेस्टिनेशन वेपॉइंट होता है उसमें सिर्फ़ एक रूट लेग होता है. यह रूट लेग, शुरुआती वेपॉइंट और डेस्टिनेशन वेपॉइंट को कनेक्ट करता है. साथ ही, बीच के वेपॉइंट (इसे via
कहा जाता है) से होकर गुज़रता है.
किसी इंटरमीडिएट वेपॉइंट को पास-थ्रू वेपॉइंट के तौर पर कॉन्फ़िगर करने के लिए, वेपॉइंट की via
प्रॉपर्टी को true
पर सेट करें. इसके लिए, Waypoint (REST) या Waypoint (gRPC) का इस्तेमाल करें.
via
प्रॉपर्टी का इस्तेमाल, मैप पर वेपॉइंट को खींचने वाले उपयोगकर्ता के अनुरोध के जवाब में रास्ते बनाने के लिए किया जाता है. ऐसा करने से, उपयोगकर्ता को यह पता चलता है कि रीयल-टाइम में फ़ाइनल रूट कैसा दिखेगा. साथ ही, इससे यह पक्का करने में मदद मिलती है कि वेपॉइंट ऐसी जगहों पर रखे गए हैं जहां Compute Routes की सुविधा काम करती है.
यहां दिए गए उदाहरण में, इंटरमीडिएट वेपॉइंट को पास-थ्रू वेपॉइंट के तौर पर मार्क करने का तरीका बताया गया है.
{ "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" } ] } }