Method: computeRoutes

Menampilkan rute utama beserta rute alternatif opsional, yang diberi sekumpulan titik jalan terminal dan perantara.

CATATAN: Metode ini mengharuskan Anda menentukan mask kolom respons di input. Anda dapat memberikan mask kolom respons dengan menggunakan parameter URL $fields atau fields, atau dengan 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 dari Durasi tingkat rute, jarak, dan polyline (contoh penyiapan produksi): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google tidak menyarankan penggunaan mask kolom respons karakter pengganti (*), atau menentukan mask kolom di tingkat atas (routes), karena:

  • Memilih kolom yang Anda perlukan akan membantu server kami menyimpan siklus komputasi, sehingga kami dapat menampilkan hasilnya kepada Anda dengan latensi yang lebih rendah.
  • Memilih kolom yang Anda perlukan dalam tugas produksi akan memastikan performa latensi yang stabil. Kami mungkin menambahkan lebih banyak kolom respons di masa mendatang, dan kolom baru tersebut mungkin memerlukan waktu komputasi tambahan. Jika Anda memilih semua kolom, atau jika Anda memilih semua kolom di tingkat teratas, Anda mungkin mengalami penurunan performa karena kolom baru yang kami tambahkan akan otomatis disertakan dalam respons.
  • Hanya memilih kolom yang dibutuhkan akan menghasilkan ukuran respons yang lebih kecil, sehingga throughput jaringan yang lebih tinggi.

Permintaan HTTP

POST https://routespreferred.googleapis.com/v1:computeRoutes

URL menggunakan sintaksis gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
Kolom
origin

object (Waypoint)

Wajib. Titik jalan asal.

destination

object (Waypoint)

Wajib. Titik jalan tujuan.

intermediates[]

object (Waypoint)

Opsional. Kumpulan titik jalan di sepanjang rute (tidak termasuk titik terminal), baik untuk berhenti di atau lewat. Mendukung hingga 25 titik jalan perantara.

travelMode

enum (RouteTravelMode)

Opsional. Menentukan moda transportasi.

routingPreference

enum (RoutingPreference)

Opsional. Menentukan cara menghitung rute. Server mencoba menggunakan preferensi perutean yang dipilih untuk menghitung rute. Jika preferensi perutean menghasilkan error atau latensi tambahan yang panjang, error akan ditampilkan. Di masa mendatang, kami mungkin akan menerapkan mekanisme penggantian untuk menggunakan opsi yang berbeda saat opsi yang dipilih tidak memberikan hasil yang valid. Anda dapat menentukan opsi ini hanya jika travelMode adalah DRIVE atau TWO_WHEELER, jika tidak, permintaan akan gagal.

polylineQuality

enum (PolylineQuality)

Opsional. Menentukan preferensi Anda untuk kualitas polyline.

polylineEncoding

enum (PolylineEncoding)

Opsional. Menentukan encoding yang disukai untuk polyline.

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 hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

Menentukan apakah akan menghitung rute alternatif selain rute.

routeModifiers

object (RouteModifiers)

Opsional. Serangkaian kondisi yang akan dipenuhi yang memengaruhi cara penghitungan rute.

languageCode

string

Opsional. Kode bahasa BCP-47, seperti "en-US" atau "sr-Latn". Untuk informasi selengkapnya, lihat http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Buka bagian Dukungan Bahasa untuk melihat daftar bahasa yang didukung. Jika Anda tidak memberikan nilai ini, bahasa tampilan akan disimpulkan dari lokasi permintaan rute.

units

enum (Units)

Opsional. Menentukan satuan ukuran untuk kolom tampilan. Hal ini mencakup kolom instruction di NavigationInstruction. Satuan ukuran yang digunakan untuk rute, kaki, jarak langkah, dan durasi tidak terpengaruh oleh nilai ini. Jika Anda tidak memberikan nilai ini, unit tampilan akan disimpulkan dari lokasi permintaan.

optimizeWaypointOrder

boolean

Jika OptimizeWaypointOrder disetel ke benar (true), upaya akan dilakukan untuk mengurutkan ulang titik jalan perantara yang ditentukan untuk meminimalkan biaya keseluruhan rute. Jika salah satu titik jalan perantara adalah melalui titik jalan, permintaan akan gagal. Gunakan ComputeRoutesResponse.Routes.Optimized_intermediate_waypoint_index untuk menemukan urutan baru. Jika routes.optimize_intermediate_waypoint_index tidak diminta di header X-Goog-FieldMask, permintaan akan gagal. Jika optimizeWaypointOrder ditetapkan ke false, ComputeRoutesResponse.Optimized_intermediate_waypoint_index akan kosong.

Isi respons

Jika berhasil, isi respons akan berisi instance ComputeRoutesResponse.

Cakupan Otorisasi

Memerlukan cakupan OAuth berikut ini:

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

Untuk informasi selengkapnya, lihat Ringkasan OAuth 2.0.