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.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
שדות |
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.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-29 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-29 (שעון UTC)."],[[["\u003cp\u003eTakes a list of origins and destinations, returning route information for each combination.\u003c/p\u003e\n"],["\u003cp\u003eRequires specifying a response field mask for optimized performance and data selection.\u003c/p\u003e\n"],["\u003cp\u003eAccepts parameters for travel mode, routing preference, and departure time.\u003c/p\u003e\n"],["\u003cp\u003eReturns a stream of \u003ccode\u003eRouteMatrixElement\u003c/code\u003e instances containing route details.\u003c/p\u003e\n"],["\u003cp\u003eRequires the \u003ccode\u003ehttps://www.googleapis.com/auth/maps-platform.routespreferred\u003c/code\u003e OAuth scope for authorization.\u003c/p\u003e\n"]]],["This method computes route information for multiple origin-destination pairs. It requires a `POST` request to `computeRouteMatrix` with lists of `origins` and `destinations` in the request body. A field mask must be included to specify which data fields to return, with `status` being critical. Optional parameters include `travelMode`, `routingPreference`, and `departureTime`. The response is a stream of `RouteMatrixElement` instances, and the method requires a specific OAuth scope for authorization.\n"],null,["# Method: computeRouteMatrix\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n\nTakes in a list of origins and destinations and returns a stream containing route information for each combination of origin and destination.\n\n**NOTE:** This method requires that you specify a response field mask in the input. You can provide the response field mask by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask` (see the [available URL parameters and headers](https://cloud.google.com/apis/docs/system-parameters). The value is a comma separated list of field paths. See this detailed documentation about [how to construct the field paths](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto).\n\nFor example, in this method:\n\n- Field mask of all available fields (for manual inspection): `X-Goog-FieldMask: *`\n- Field mask of route durations, distances, element status, condition, and element indices (an example production setup): `X-Goog-FieldMask:\n originIndex,destinationIndex,status,condition,distanceMeters,duration`\n\nIt is critical that you include `status` in your field mask as otherwise all messages will appear to be OK. Google discourages the use of the wildcard (`*`) response field mask, because:\n\n- Selecting only the fields that you need helps our server save computation cycles, allowing us to return the result to you with a lower latency.\n- Selecting only the fields that you need in your production job ensures stable latency performance. We might add more response fields in the future, and those new fields might require extra computation time. If you select all fields, or if you select all fields at the top level, then you might experience performance degradation because any new field we add will be automatically included in the response.\n- Selecting only the fields that you need results in a smaller response size, and thus higher network throughput.\n\n### HTTP request\n\n`POST https://routespreferred.googleapis.com/v1alpha:computeRouteMatrix`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"origins\": [ { object (/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixOrigin) } ], \"destinations\": [ { object (/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixDestination) } ], \"travelMode\": enum (/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode), \"routingPreference\": enum (/maps/documentation/routes_preferred/reference/rest/Shared.Types/RoutingPreference), \"departureTime\": string } ``` |\n\n| Fields ||\n|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `origins[]` | `object (`[RouteMatrixOrigin](/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixOrigin)`)` Required. Array of origins, which determines the rows of the response matrix. Several size restrictions apply to the cardinality of origins and destinations: - The number of elements (origins × destinations) must be no greater than 625 in any case. - The number of elements (origins × destinations) must be no greater than 100 if routingPreference is set to `TRAFFIC_AWARE_OPTIMAL`. - The number of waypoints (origins + destinations) specified as `placeId` must be no greater than 50. |\n| `destinations[]` | `object (`[RouteMatrixDestination](/maps/documentation/routes_preferred/reference/rest/Shared.Types/ComputeRouteMatrixRequest#RouteMatrixDestination)`)` Required. Array of destinations, which determines the columns of the response matrix. |\n| `travel``Mode` | `enum (`[RouteTravelMode](/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode)`)` Optional. Specifies the mode of transportation. |\n| `routing``Preference` | `enum (`[RoutingPreference](/maps/documentation/routes_preferred/reference/rest/Shared.Types/RoutingPreference)`)` Optional. Specifies how to compute the route. The server attempts to use the selected routing preference to compute the route. If the routing preference results in an error or an extra long latency, an error is returned. You can specify this option only when the `travelMode` is `DRIVE` or `TWO_WHEELER`, otherwise the request fails. |\n| `departure``Time` | `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` Optional. The departure time. If you don't set this value, this defaults to the time that you made the request. If you set this value to a time that has already occurred, the request fails. A timestamp in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits. Examples: `\"2014-10-02T15:01:23Z\"` and `\"2014-10-02T15:01:23.045123456Z\"`. |\n\n### Response body\n\nIf successful, the response body contains a stream of [RouteMatrixElement](/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteMatrixElement) instances.\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/maps-platform.routespreferred`\n\nFor more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2)."]]