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