לקבל מסלול קצר יותר

כשמפעילים את האפשרות 'מסלולים קצרים יותר', ה-Routes API יכול להציג מסלולי נסיעה שעברו אופטימיזציה למרחק נסיעה קצר יותר.

כשמבקשים מסלול קצר יותר, השירות מחזיר את הפרטים הבאים:

  • מסלול ברירת המחדל, שהוא מסלול שעובר אופטימיזציה בעיקר לצורך הצגת זמן הגעה משוער.
  • מסלול קצר יותר שהוצע לכם לאחר אופטימיזציה כדי לצמצם את מרחק הנסיעה בכל המסלול.

מה זה ומה היתרונות של השימוש בו

במסלול קצר יותר, המערכת נותנת עדיפות למרחק על פני נוחות הנסיעה או המהירות. לדוגמה, יכול להיות שהיא תעדיף כבישים מקומיים במקום כבישים מהירים, דרכים עפר או נסיעה דרך חניונים. המערכת לא מחזירה תמונות של פעולות שמערכת מפות 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.distanceMeters
  • routes.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. החיוב יתבצע על סמך השימוש שלכם ב-API, על סמך פרמטרים אחרים שתגדירו.

מידע נוסף על חיוב ב-Routes API