Method: computeRouteMatrix

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

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

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

  • אנונימיזציה של כל השדות הזמינים (לבדיקה ידנית): X-Goog-FieldMask: *
  • מסכת שדות של משכי זמן של מסלולים, מרחקים, סטטוס רכיב, מצב ואינדקסים של רכיבים (הגדרת דוגמה לסביבת ייצור): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

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

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

בקשת HTTP

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

בכתובת ה-URL נעשה שימוש בתחביר המרת קידוד של gRPC.

גוף הבקשה

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

ייצוג JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
שדות
origins[]

object (RouteMatrixOrigin)

חובה. מערך מקורות, שקובע את השורות של מטריצת התגובות. יש כמה הגבלות גודל על העוצמה (cardinality) של המקורות והיעדים:

  • מספר הרכיבים (מקורות × יעדים) לא יכול להיות גדול מ-625 בכל מקרה.
  • מספר הרכיבים (מקורות × יעדים) לא יכול להיות גדול מ-100 אם העדפת הניתוב מוגדרת ל-TRAFFIC_AWARE_OPTIMAL.
  • מספר ציוני הדרך (מקורות + יעדים) שמצוין כ-placeId לא יכול להיות גדול מ-50.
destinations[]

object (RouteMatrixDestination)

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

travelMode

enum (RouteTravelMode)

זה שינוי אופציונלי. מציין את אמצעי התחבורה.

routingPreference

enum (RoutingPreference)

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

departureTime

string (Timestamp format)

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

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

גוף התשובה

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

היקפי הרשאות

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

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

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