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