נקודות דרך מתווכות הן מיקומים בין נקודת המוצא ליעד שבו רוצים לעבור את המסלול. ציון דרך יכול להיות עצירה, או שאתם יכולים לציין אותו כמיקום למעבר. במאמר הגדרת עצירה לאורך מסלול תוכלו לראות דוגמה לנקודת ציון לעצירה. לדוגמה, תוכלו לקרוא את המשפט הגדרת נקודה למסלול שעוברים דרך מעבר.
השתמשו במאפיין מערך intermediates
של ה-method computeRoutes (ב-REST) או ב-method 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": [ { ...