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