כברירת מחדל, Routes API מחזיר את נתיב ברירת המחדל, שבדרך כלל את המסלול המהיר ביותר מהמוצא אל היעד. כשמבקשים אלטרנטיביים, ה-API מחזיר עד שלושה מסלולים עם ברירת המחדל מסלול. לאחר מכן הלקוחות יוכלו לבחור את המסלול שהכי מתאים לדרישות שלהם.
שיקולים כשמבקשים מסלולים חלופיים
כדי לבקש מסלולים חלופיים, חשוב לשים לב לשיקולים הבאים:
אפשר לבקש מסלולים חלופיים רק למסלולים ללא ביניים נקודות ציון. בקשה למסלולים חלופיים כאשר המסלול מציין נקודות ביניים לא גורמות לשגיאה. אבל אין חלופה אחרת יוצגו נתיבים שונים.
התשובה מכילה עד שלושה מסלולים חלופיים. אבל, לפעמים לפעמים אין מסלולים חלופיים, כך שהתשובה כוללת רק נתיב ברירת המחדל.
בגלל התהליך הנוסף שנדרש כדי לחשב את החלופה לכן, בקשת מסלולים חלופיים עשויה להאריך את זמן התגובה של ממשק ה-API.
דוגמה לבקשה למסלולים חלופיים
צריך להגדיר את computeAlternativeRoutes
לערך true
כדי לבקש מסלולים חלופיים.
הדוגמה הבאה מראה איך לבקש מסלולים חלופיים
computeRoutes
בקשת method (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" ] } ] }