Routes API Pilihan saat ini hanya tersedia untuk pelanggan tertentu.
Hubungi bagian penjualan untuk mempelajari lebih lanjut.
Method: computeRouteMatrix
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Mengambil daftar tempat asal dan tujuan, serta menampilkan aliran data yang berisi informasi rute untuk setiap kombinasi tempat asal dan tujuan.
CATATAN: Metode ini mengharuskan Anda menentukan mask kolom respons dalam input. Anda dapat memberikan mask kolom respons menggunakan parameter URL $fields
atau fields
, atau menggunakan header HTTP/gRPC X-Goog-FieldMask
(lihat parameter dan header URL yang tersedia. Nilainya adalah daftar jalur kolom yang dipisahkan koma. Lihat dokumentasi mendetail tentang cara membuat jalur kolom.
Misalnya, dalam metode ini:
- Mask kolom dari semua kolom yang tersedia (untuk pemeriksaan manual):
X-Goog-FieldMask: *
- Mask kolom durasi rute, jarak, status elemen, kondisi, dan indeks elemen (contoh penyiapan produksi):
X-Goog-FieldMask:
originIndex,destinationIndex,status,condition,distanceMeters,duration
Anda harus menyertakan status
dalam mask kolom karena jika tidak, semua pesan akan tampak baik-baik saja. Google tidak menyarankan penggunaan mask kolom respons karakter pengganti (*
), karena:
- Memilih kolom yang Anda perlukan saja akan membantu server kami menyimpan siklus komputasi, sehingga memungkinkan kami menampilkan hasilnya kepada Anda dengan latensi yang lebih rendah.
- Memilih hanya kolom yang Anda perlukan dalam tugas produksi akan memastikan performa latensi yang stabil. Kami mungkin akan menambahkan lebih banyak kolom respons di masa mendatang, dan kolom baru tersebut mungkin memerlukan waktu komputasi tambahan. Jika Anda memilih semua kolom, atau jika memilih semua kolom di tingkat teratas, Anda mungkin akan mengalami penurunan performa karena kolom baru yang kami tambahkan akan otomatis disertakan dalam respons.
- Memilih hanya kolom yang Anda perlukan akan menghasilkan ukuran respons yang lebih kecil, sehingga throughput jaringan lebih tinggi.
Permintaan HTTP
POST https://routespreferred.googleapis.com/v1:computeRouteMatrix
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Kolom |
origins[] |
object (RouteMatrixOrigin )
Wajib. Array asal, yang menentukan baris matriks respons. Beberapa batasan ukuran berlaku untuk kardinalitas asal dan tujuan:
- Jumlah elemen (asal × tujuan) tidak boleh lebih dari 625.
- Jumlah elemen (asal × tujuan) tidak boleh lebih besar dari 100 jika routingPreference ditetapkan ke
TRAFFIC_AWARE_OPTIMAL .
- Jumlah titik jalan (asal + tujuan) yang ditentukan sebagai
placeId tidak boleh lebih dari 50.
|
destinations[] |
object (RouteMatrixDestination )
Wajib. Array tujuan, yang menentukan kolom matriks respons.
|
travelMode |
enum (RouteTravelMode )
Opsional. Menentukan mode transportasi.
|
routingPreference |
enum (RoutingPreference )
Opsional. Menentukan cara menghitung rute. Server mencoba menggunakan preferensi pemilihan rute yang dipilih untuk menghitung rute. Jika preferensi pemilihan rute menghasilkan error atau latensi yang lebih panjang, error akan ditampilkan. Anda dapat menentukan opsi ini hanya jika travelMode adalah DRIVE atau TWO_WHEELER ; jika tidak, permintaan akan gagal.
|
departureTime |
string (Timestamp format)
Opsional. Waktu keberangkatan. Jika Anda tidak menetapkan nilai ini, nilai ini akan ditetapkan secara default ke waktu saat Anda membuat permintaan. Jika Anda menetapkan nilai ini ke waktu yang telah terjadi, permintaan akan gagal. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z" .
|
Isi respons
Jika berhasil, isi respons akan berisi streaming instance RouteMatrixElement
.
Cakupan otorisasi
Memerlukan cakupan OAuth berikut:
https://www.googleapis.com/auth/maps-platform.routespreferred
Untuk informasi selengkapnya, lihat Ringkasan OAuth 2.0.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-29 UTC.
[null,null,["Terakhir diperbarui pada 2025-08-29 UTC."],[[["\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)."]]