Method: computeCustomRoutes

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

הערה: בשיטה הזו צריך לציין מסכה של שדה תגובה בקלט. אפשר לספק את המסכה של שדה התגובה באמצעות הפרמטר של כתובת ה-URL $fields או fields, או באמצעות הכותרת HTTP/gRPC‏ X-Goog-FieldMask (ראו הפרמטרים והכותרות הזמינים של כתובות URL). הערך הוא רשימה של נתיבים של שדות, המופרדים בפסיקים. איך יוצרים את נתיבי השדות

לדוגמה, בשיטה הזו:

  • אנונימיזציה של כל השדות הזמינים (לבדיקה ידנית): X-Goog-FieldMask: *
  • אנונימיזציה של שדות של מרחקים, משכי זמן, אסימונים ומידע על כבישי אגרה במסלול: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

Google ממליצה לא להשתמש במסכת השדה של התגובה עם התו הכללי לחיפוש (*), או לציין את מסכת השדה ברמה העליונה (routes), כי:

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

בקשת HTTP

POST https://routespreferred.googleapis.com/v1alpha:computeCustomRoutes

כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
שדות
origin

object (Waypoint)

חובה. ציון דרך במקור.

destination

object (Waypoint)

חובה. ציון דרך ליעד.

intermediates[]

object (Waypoint)

זה שינוי אופציונלי. קבוצה של נקודות דרך לאורך המסלול (לא כולל נקודות קצה), לצורך עצירה או נסיעה חולפת. יש תמיכה בעד 25 נקודות עצירה ביניים.

travelMode

enum (RouteTravelMode)

זה שינוי אופציונלי. מציין את אמצעי התחבורה. יש תמיכה רק ב-DRIVE וב-'TWO_WHEELER'.

routingPreference

enum (RoutingPreference)

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

polylineQuality

enum (PolylineQuality)

זה שינוי אופציונלי. מציין את ההעדפה שלך לאיכות של הקו הפוליגוני.

polylineEncoding

enum (PolylineEncoding)

זה שינוי אופציונלי. מציינת את הקידוד המועדף לקו הפוליגוני.

departureTime

string (Timestamp format)

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

חותמת זמן בפורמט UTC 'Zulu' של RFC3339, עם רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

routeModifiers

object (RouteModifiers)

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

routeObjective

object (RouteObjective)

חובה. יעד למסלול לאופטימיזציה.

languageCode

string

זה שינוי אופציונלי. קוד השפה לפי BCP-47, למשל 'en-US' או 'sr-Latn'. מידע נוסף זמין במאמר מזהה הלוקאל של Unicode. במאמר שפות תמיכה אפשר למצוא את רשימת השפות הנתמכות. אם לא מציינים את הערך הזה, המערכת מסיקה את שפת התצוגה מהמיקום של בקשת המסלול.

units

enum (Units)

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

גוף התשובה

אם הפעולה מצליחה, גוף התגובה מכיל מופע של ComputeCustomRoutesResponse.

היקפי הרשאה

נדרש היקף הרשאות OAuth הבא:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

למידע נוסף, קראו את המאמר סקירה כללית של OAuth 2.0.