Method: computeRouteMatrix

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

הערה: לשיטה הזו צריך לציין אנונימיזציה של שדות תגובה בקלט. אפשר לספק את האנונימיזציה של שדות התגובה באמצעות הפרמטר של כתובת ה-URL $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/v1alpha:computeRouteMatrix

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

גוף הבקשה

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

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

object (RouteMatrixOrigin)

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

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

object (RouteMatrixDestination)

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

travelMode

enum (RouteTravelMode)

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

routingPreference

enum (RoutingPreference)

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

departureTime

string (Timestamp format)

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

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

גוף התגובה

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

היקפי הרשאות

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

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

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