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