הפעלת האפשרות 'מסלולים קצרים יותר' מאפשרת לקבל מסלולי נסיעה שמותאמים למרחק נסיעה קצר יותר.
כשמבקשים מסלול עם מרחק קצר יותר, השירות מחזיר את הפרטים הבאים:
- המסלול שמוגדר כברירת מחדל, שהוא מסלול שעבר אופטימיזציה בעיקר לפי זמן ההגעה המשוער.
- מסלול קצר יותר שעבר אופטימיזציה כדי לצמצם את מרחק הנסיעה הכולל.
מה זה ולמה כדאי להשתמש בו
מסלול עם מרחק קצר יותר נותן עדיפות למרחק על פני נוחות הנהיגה או המהירות. לדוגמה, יכול להיות שהמסלול יעדיף כבישים מקומיים במקום כבישים מהירים, יעבור בדרכי עפר או יחצה חניונים. הוא לא מחזיר תמרונים שידוע למפות Google שהם לא חוקיים.
בקשת מסלול עם מרחק קצר יותר
הבקשה צריכה לעמוד בקריטריונים הבאים:
- מגדירים את
travelModeלערךDRIVE,BICYCLEאוTWO_WHEELER. - מגדירים את
requestedReferenceRoutesלהיותSHORTER_DISTANCE. - מגדירים מסכת שדה תגובה כדי להחזיר את מאפייני התגובה שמשויכים למסלול קצר יותר:
-
routes.routeLabels: מזהה כל מסלול כ-DEFAULT_ROUTE,SHORTER_DISTANCEאוDEFAULT_ROUTE_ALTERNATE. -
routes.routeToken: טוקן של מסלול שאפשר להעביר אל Navigation SDK כדי לאחזר מסלול מותאם אישית.
-
- אל תכללו
Viaנקודות ציון ביניים. - לא כוללים את הפרמטר
optimizeWaypointOrder. - אופציונלי: מגדירים אנונימיזציה של שדות בתגובה כדי להחזיר את המאפיינים הבאים שמשויכים לנתיב ברירת המחדל ולנתיב הקצר יותר:
-
routes.distanceMeters: מחזירה את המרחק של המסלול. -
routes.duration: מחזירה את משך המסלול.
-
מידע נוסף זמין במאמרים בנושא ReferenceRoute ו-RouteLabel.
דוגמה לבקשה: מסלול עם מרחק קצר יותר
הקוד הבא מציג בקשה למסלול עם מרחק קצר יותר. בדוגמה הזו, משתמשים במסכת השדות של התגובה כדי להחזיר שדות שמשויכים גם למסלול ברירת המחדל וגם למסלול הקצר יותר, עם מסכות השדות הבאות:
routes.distanceMetersroutes.duration
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE", "requestedReferenceRoutes": ["SHORTER_DISTANCE"], }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \ -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
דוגמה לתשובה לגבי מסלול קצר יותר
{
"routes": [
{
"distanceMeters": 138943,
"duration": "5373s",
"routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
"routeLabels": [
"DEFAULT_ROUTE"
]
},
{
"distanceMeters": 112610,
"duration": "7165s",
"routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
"routeLabels": [
"SHORTER_DISTANCE"
]
}
]
}
דוגמה לבקשה: מסלול קצר יותר וחסכוני בדלק
בדוגמה הבאה מוצגת בקשה למסלול עם מרחק קצר יותר ולמסלול חסכוני בדלק.
`
curl -X POST -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL", "requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }'
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'
דוגמה לתשובה: מרחק קצר יותר ומסלול חסכוני בדלק
במקרה הזה, המרחק הקצר ביותר והמסלול החסכוני בדלק הם זהים, ולכן המסלול הזה מוחזר והסמל routeLabel נכלל בשני סוגי המסלולים.
{ "routes": [ { "distanceMeters": 138943, "duration": "5375s", "routeToken": "Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 112610, "duration": "7156s", "routeToken": "CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f", "routeLabels": [ "FUEL_EFFICIENT", "SHORTER_DISTANCE" ] } ] }
אזורים נתמכים
מסלולים קצרים יותר נתמכים בכל האזורים.
חיוב
השימוש בתכונה ניסיונית ב-Google Maps Platform לא כרוך בתשלום נוסף. החיוב יתבסס על השימוש שלכם ב-API, על סמך פרמטרים אחרים שהגדרתם.
מידע נוסף על חיוב ב-Routes API