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 נעשה שימוש בתחביר המרת 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 נתמך עכשיו.

routingPreference

enum (RoutingPreference)

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

polylineQuality

enum (PolylineQuality)

אפשרות. מציין את ההעדפה שלכם לאיכות של הקו מרובה.

polylineEncoding

enum (PolylineEncoding)

אפשרות. מציין את הקידוד המועדף לקו מרובה-הקווים.

departureTime

string (Timestamp format)

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

חותמת זמן בפורמט "זולו" 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". מידע נוסף זמין בכתובת http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. כאן אפשר למצוא את רשימת השפות הנתמכות. אם לא תספקו את הערך הזה, המערכת תסיק את שפת התצוגה לפי המיקום של בקשת המסלול.

units

enum (Units)

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

גוף התגובה

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

היקפי הרשאות

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

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

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