כברירת מחדל, ציוני דרך משמשים לעצירה של איסוף אבל אפשר גם לציין שציון דרך בתהליך ביניים נועד לעבור.
מסלול שמכיל ציון דרך במקור, דרך ביניים
וציון דרך ליעד מכיל רק דרך אחת במסלול
מחבר בין המוצא ליעד, תוך כדי מעבר דרך הביניים
(שנקרא ציון דרך via
).
הגדרת ציון דרך ביניים כציון דרך באמצעות
הגדרת המאפיין via
של ציון הדרך ל-true
באמצעות
Waypoint (REST) או
Waypoint (gRPC).
הנכס via
הוא היעיל ביותר ליצירת מסלולים בתגובה ל:
המשתמש גורר את ציוני הדרך במפה. כך המשתמשים יכולים לראות איך
המסלול הסופי עשוי להיראות בזמן אמת ועוזר להבטיח שנקודות הדרך ממוקמות
במיקומים שנגישים ל-Compute Routes.
הדוגמה הבאה מראה איך לסמן נקודת ציון ביניים בתור נקודת ציון מעבר.
{ "location": { "latLng": { "latitude":37.419734, "longitude":-122.0827784 } }, "via": true }
גישה למזהי מקומות של ציוני דרך ברמת ביניים
אם מציינים את המיקום של נקודת מוצא, יעד או נקודת ציון ביניים
כמחרוזת כתובת או כקוד Plus, ה-API מנסה למצוא את
את המיקום הרלוונטי ביותר עם מזהה מקום מתאים.
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" } ] } }