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/v1: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)

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

חותמת זמן בפורמט 'Zulu' בפורמט RFC3339 UTC, עם רזולוציה של ננו-שנייה ועד תשע ספרות אחרי הנקודה. דוגמאות: "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.