נקודות דרך ביניים הן מיקומים בין נקודת היציאה ליעד שרוצים שהמסלול יעבור. ציון דרך יכול להיות עצירה או אפשר לציין אותו כמיקום למעבר. דוגמה לציון דרך למידע על עצירת ביניים, אפשר לעיין במאמר הגדרת עצירה לאורך מסלול. לדוגמה דרך מעבר, הגדרת נקודה לנתיב של מעבר מעבר.
צריך להשתמש במאפיין מערך intermediates
של
method computeRoutes (REST) או
ComputeRoutes
(gRPC), כדי להגדיר עד 25 נקודות ציון ביניים.
עבור כל ציון דרך בבקשה, הפונקציה
ניתוב אובייקט (REST) או
ניתוב אובייקט (gRPC) ב-
התגובה מוסיפה ערך למערך legs
כדי לספק את הפרטים של
השלב הזה בתהליך.
כל קטע במסלול מיוצג על ידי
RouteLeg (REST) או
אובייקט RouteLeg (gRPC).
אפשר לקבוע אילו שדות של RouteLeg
יוחזרו באמצעות
אנונימיזציה של שדות תשובה.
דוגמה - הגדרת ציון דרך ביניים
הדוגמה הבאה משתמשת במאפיין המערך intermediates
כדי להוסיף
ציון דרך ביניים לגוף בקשת ה-POST של מסלול.
בדוגמה הזו נעשה שימוש באנונימיזציה של שדות תשובה בכותרת X-Goog-FieldMask
שמציין להחזיר את השדות הבאים בתשובה:
routes.duration
routes.distanceMeters
routes.legs
תואם לאובייקטRouteLeg
כולו.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } }, "sideOfRoad": true }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "departureTime": "2022-10-15T15:01:23.045123456Z", "computeAlternativeRoutes": false, "routeModifiers": { "avoidTolls": false, "avoidHighways": false, "avoidFerries": false }, "languageCode": "en-US", "units": "IMPERIAL" }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' 'https://routes.googleapis.com/directions/v2:computeRoutes'
התשובה מהקריאה הזו מכילה את המערך legs
. כל שלב ברגל
שמיוצג על ידי
RouteLegStep (REST) או
אובייקט RouteLegStep (gRPC).
{ "routes": [ { "legs": [ # First leg { "distanceMeters": 207, "duration": "89s", "staticDuration": "89s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "steps": [ { "distanceMeters": 21, "staticDuration": "6s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.41954, "longitude": -122.08262750000002 } } }, ... }, # Second leg { "distanceMeters": 598, "duration": "159s", "staticDuration": "159s", "polyline": { "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?" }, "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "endLocation": { "latLng": { "latitude": 37.417616599999995, "longitude": -122.07938820000001 } }, "steps": [ { ...