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

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

גוף הבקשה

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

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

object (RouteMatrixOrigin)

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

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

object (RouteMatrixDestination)

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

travelMode

enum (RouteTravelMode)

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

routingPreference

enum (RoutingPreference)

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

departureTime

string (Timestamp format)

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

חותמת זמן בפורמט 'Zulu' בפורמט 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.