Method: computeCustomRoutes

Dengan serangkaian titik jalan terminal dan perantara, serta tujuan rute, menghitung rute terbaik untuk tujuan rute. Juga menampilkan rute tercepat dan rute terpendek sebagai rute referensi.

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 ini tentang cara membuat jalur kolom.

Misalnya, dalam metode ini:

  • Mask kolom untuk semua kolom yang tersedia (untuk inspeksi manual): X-Goog-FieldMask: *
  • Mask kolom jarak rute, durasi, token, dan info tol: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

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

  • Memilih hanya kolom yang Anda perlukan akan membantu server kami menghemat siklus komputasi, sehingga kami dapat 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 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 setiap 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/v1alpha:computeCustomRoutes

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,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
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), untuk berhenti di atau lewat. Mendukung hingga 25 titik jalan perantara.

travelMode

enum (RouteTravelMode)

Opsional. Menentukan mode transportasi. Hanya DRIVE dan 'TWO_WHEELER' yang didukung.

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 sangat lama, error akan ditampilkan. Anda hanya dapat menentukan opsi ini 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 pilihan untuk polyline.

departureTime

string (Timestamp format)

Opsional. Waktu keberangkatan. Jika Anda tidak menetapkan nilai ini, nilai ini akan ditetapkan secara default ke waktu 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".

routeModifiers

object (RouteModifiers)

Opsional. Serangkaian kondisi yang harus dipenuhi yang memengaruhi cara rute dihitung.

routeObjective

object (RouteObjective)

Wajib. Tujuan rute yang akan dioptimalkan.

languageCode

string

Opsional. Kode bahasa BCP-47, seperti "en-US" atau "sr-Latn". Untuk informasi selengkapnya, lihat ID Lokalitas Unicode. Lihat Dukungan Bahasa untuk mengetahui daftar bahasa yang didukung. Jika Anda tidak memberikan nilai ini, bahasa tampilan akan disimpulkan dari lokasi permintaan rute.

units

enum (Units)

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

Isi respons

Jika berhasil, isi respons memuat instance ComputeCustomRoutesResponse.

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

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

Untuk informasi selengkapnya, lihat Ringkasan OAuth 2.0.