Method: computeRouteMatrix

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

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

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

  • בכל מקרה, מספר הרכיבים (מקורות 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)

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

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

גוף התשובה

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

היקפי הרשאה

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

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

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