כברירת מחדל, Routes API מחזיר את המסלול default, שהוא בדרך כלל המסלול הכי מהיר מהמוצא ליעד. כשמבקשים מסלולים חלופיים, ה-API מחזיר עד שלושה מסלולים בנוסף למסלול ברירת המחדל. הלקוחות שלכם יכולים לבחור את המסלול שהכי מתאים לדרישות שלהם.
שיקולים כשמבקשים מסלולים חלופיים
כדי לבקש מסלולים חלופיים, חשוב לשים לב לשיקולים הבאים:
אפשר לבקש מסלולים חלופיים רק למסלולים בלי נקודות ציון ביניים. בקשה למסלולים חלופיים כשהמסלול מציין נקודות ציון ביניים לא גורמת לשגיאה. עם זאת, לא מוחזרות דרכים חלופיות.
התשובה מכילה עד שלוש חלופות מסלול. עם זאת, לפעמים אין מסלולים חלופיים זמינים, ולכן התשובה מכילה רק את מסלול ברירת המחדל.
בגלל העיבוד הנוסף שנדרש לחישוב מסלולים חלופיים, בקשה למסלולים חלופיים עלולה להגדיל את זמן התגובה של ה-API.
דוגמה לבקשה של מסלולים חלופיים
מגדירים את computeAlternativeRoutes
לערך true
כדי לבקש מסלולים חלופיים. בדוגמה הבאה מוצגות בקשות לחישוב מסלולים חלופיים בבקשת method computeRoutes (REST).
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude":42.340173523716736, "longitude":-71.05997968330408 } } }, "destination":{ "location":{ "latLng":{ "latitude":42.075698891472804, "longitude": -72.59806562080408 } } }, "travelMode": "DRIVE", "routingPreference":"TRAFFIC_AWARE", "computeAlternativeRoutes": true }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
בדוגמה הזו, מציינים מסכת שדות כדי שהתשובה תכיל רק את המאפיינים duration
, distanceMeters,
ו-routeLabels
של כל מסלול. הלקוח שלכם יוכל להשתמש במידע הזה כדי לבחור את המסלול שבו הוא רוצה לנסוע. מידע נוסף זמין במאמר בחירת המידע שיוחזר.
דוגמה לתגובה לגבי מסלולים חלופיים
בתשובה, משתמשים במאפיין המערך routeLabels
כדי לזהות את נתיב ההגעה:
בנתיב ברירת המחדל, המאפיין
routeLabels
מכיל את הערךDEFAULT_ROUTE
.בכל המסלולים החלופיים, המאפיין
routeLabels
מכיל את הערךDEFAULT_ROUTE_ALTERNATE
.
בדוגמה הזו, התשובה מכילה את מסלול ברירת המחדל ושני מסלולים חלופיים. שימו לב שהערכים של המאפיינים duration
ו-distanceMeters
שונים בכל מסלול:
{ "routes": [ { "distanceMeters": 150322, "duration": "5309s", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 157614, "duration": "6879s", "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] }, { "distanceMeters": 189311, "duration": "7376s", "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] } ] }
הכללת קווים מרובים בתשובה
כדי להקל על המשתמש לבחור את המסלול, מוסיפים את הקו הפוליגוני של כל מסלול לתשובה. לאחר מכן, תוכלו להציג כל קו פוליגוני במפה.
כדי להוסיף את הקו המישורי, כוללים את routes.polyline
במסכת השדה:
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels,routes.polyline'
התשובה מכילה את הקו המרובה נקודות של כל מסלול:
{ "routes": [ { "distanceMeters": 150322, "duration": "5309s", "polyline": { "encodedPolyline": "mrlaGtavpLPLBTm…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 157614, "duration": "6879s", "polyline": { "encodedPolyline": "DmEd`@e@pCo@pCs@z…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] }, { "distanceMeters": 189311, "duration": "7376s", "polyline": { "encodedPolyline": "FVLL|Af@HPAV…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] } ] }