تتوفر
واجهة برمجة تطبيقات المسارات المفضلة حاليًا لعملاء محددين فقط. يمكنك
التواصل مع فريق المبيعات لمعرفة المزيد من المعلومات.
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.
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
الحقول |
origins[] |
object (RouteMatrixOrigin )
مطلوب. صفيف المصادر الذي يحدّد صفوف مصفوفة الاستجابة تنطبق عدة قيود على عدد القيم الفريدة للنقاط الجغرافية التي تمثل نقاط الانطلاق والوجهة:
- يجب ألا يزيد عدد العناصر (المواقع الجغرافية للمحطات × الوجهات) عن 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.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-29 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-29 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eTakes in origin and destination lists, returning route information for each combination.\u003c/p\u003e\n"],["\u003cp\u003eRequires a response field mask using \u003ccode\u003e$fields\u003c/code\u003e, \u003ccode\u003efields\u003c/code\u003e, or \u003ccode\u003eX-Goog-FieldMask\u003c/code\u003e for optimized results.\u003c/p\u003e\n"],["\u003cp\u003eMust include \u003ccode\u003estatus\u003c/code\u003e in the field mask to identify unsuccessful route calculations.\u003c/p\u003e\n"],["\u003cp\u003eLimits the number of elements to 625 or 100 if \u003ccode\u003eroutingPreference\u003c/code\u003e is \u003ccode\u003eTRAFFIC_AWARE_OPTIMAL\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAuthorize the request with the \u003ccode\u003ehttps://www.googleapis.com/auth/maps-platform.routespreferred\u003c/code\u003e OAuth scope.\u003c/p\u003e\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/v1: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)."]]