Method: computeRouteMatrix

Menerima daftar asal dan tujuan, lalu menampilkan aliran data yang berisi informasi rute untuk setiap kombinasi 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 ini tentang cara membuat jalur kolom.

Misalnya, dalam metode ini:

  • Mask kolom untuk 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 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 akan menambahkan lebih banyak kolom respons pada 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://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

URL menggunakan sintaksis gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "arrivalTime": string,
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Kolom
origins[]

object (RouteMatrixOrigin)

Wajib. Array asal, yang menentukan baris matriks respons. Beberapa batasan ukuran berlaku untuk kardinalitas asal dan tujuan:

  • Jumlah asal + jumlah tujuan yang ditentukan sebagai placeId atau address tidak boleh lebih dari 50.
  • Produk dari jumlah asal × jumlah tujuan tidak boleh lebih besar dari 625.
  • Hasil dari jumlah asal × jumlah tujuan tidak boleh lebih dari 100 jika routingPreference ditetapkan ke TRAFFIC_AWARE_OPTIMAL.
  • Hasil dari jumlah asal × jumlah tujuan tidak boleh lebih dari 100 jika travelMode ditetapkan ke TRANSIT.
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 sangat lama, error akan ditampilkan. Anda hanya dapat menentukan opsi ini 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 Anda membuat permintaan. CATATAN: Anda hanya dapat menentukan departureTime di masa lalu jika RouteTravelMode ditetapkan ke TRANSIT.

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".

arrivalTime

string (Timestamp format)

Opsional. Waktu tiba. CATATAN: Hanya dapat ditetapkan jika RouteTravelMode ditetapkan ke TRANSIT. Anda dapat menentukan departureTime atau arrivalTime, tetapi tidak keduanya.

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".

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 asal pertama.

regionCode

string

Opsional. Kode wilayah, yang ditetapkan sebagai nilai yang berisi dua karakter ccTLD ("domain level teratas"). Untuk mengetahui informasi selengkapnya, lihat Domain level teratas kode negara.

units

enum (Units)

Opsional. Menentukan satuan pengukuran untuk kolom tampilan.

extraComputations[]

enum (ExtraComputation)

Opsional. Daftar komputasi tambahan yang dapat digunakan untuk menyelesaikan permintaan. Catatan: Komputasi tambahan ini dapat menampilkan kolom tambahan pada respons. Kolom tambahan ini juga harus ditentukan dalam mask kolom yang akan ditampilkan dalam respons.

trafficModel

enum (TrafficModel)

Opsional. Menentukan asumsi yang akan digunakan saat menghitung waktu dalam lalu lintas. Setelan ini memengaruhi nilai yang ditampilkan di kolom durasi di RouteMatrixElement yang berisi prediksi waktu dalam traffic berdasarkan rata-rata historis. RoutingPreference ke TRAFFIC_AWARE_OPTIMAL dan RouteTravelMode ke DRIVE. Secara default ke BEST_GUESS jika traffic diminta dan TrafficModel tidak ditentukan.

transitPreferences

object (TransitPreferences)

Opsional. Menentukan preferensi yang memengaruhi rute yang ditampilkan untuk rute TRANSIT. CATATAN: Anda hanya dapat menentukan transitPreferences jika RouteTravelMode ditetapkan ke TRANSIT.

Isi respons

Berisi informasi rute yang dihitung untuk pasangan asal/tujuan di v2.computeRouteMatrix API. Proto ini dapat di-streaming ke klien.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "localizedValues": {
    object (LocalizedValues)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
Kolom
status

object (Status)

Kode status error untuk elemen ini.

condition

enum (RouteMatrixElementCondition)

Menunjukkan apakah rute ditemukan atau tidak. Terlepas dari status.

distanceMeters

integer

Jarak perjalanan rute, dalam meter.

duration

string (Duration format)

Lama waktu yang diperlukan untuk menavigasi rute. Jika Anda menetapkan routingPreference ke TRAFFIC_UNAWARE, nilai ini sama dengan staticDuration. Jika Anda menetapkan routingPreference ke TRAFFIC_AWARE atau TRAFFIC_AWARE_OPTIMAL, nilai ini akan dihitung dengan mempertimbangkan kondisi lalu lintas.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

staticDuration

string (Duration format)

Durasi perjalanan melalui rute tanpa mempertimbangkan kondisi lalu lintas.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

Informasi tambahan tentang rute. Misalnya: informasi batasan dan informasi tol

fallbackInfo

object (FallbackInfo)

Dalam beberapa kasus, jika server tidak dapat menghitung rute dengan preferensi yang diberikan untuk pasangan asal/tujuan tertentu ini, server dapat kembali menggunakan mode komputasi yang berbeda. Saat mode penggantian digunakan, kolom ini berisi informasi mendetail tentang respons penggantian. Jika tidak, kolom ini tidak ditetapkan.

localizedValues

object (LocalizedValues)

Representasi teks properti RouteMatrixElement.

originIndex

integer

Indeks berbasis nol dari asal dalam permintaan.

destinationIndex

integer

Indeks berbasis nol dari tujuan dalam permintaan.

RouteMatrixOrigin

Satu origin untuk ComputeRouteMatrixRequest

Representasi JSON
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
Kolom
waypoint

object (Waypoint)

Wajib. Titik jalan asal

routeModifiers

object (RouteModifiers)

Opsional. Pengubah untuk setiap rute yang menggunakan ini sebagai asal

RouteMatrixDestination

Satu tujuan untuk ComputeRouteMatrixRequest

Representasi JSON
{
  "waypoint": {
    object (Waypoint)
  }
}
Kolom
waypoint

object (Waypoint)

Wajib. Titik jalan tujuan

ExtraComputation

Komputasi tambahan yang akan dilakukan saat menyelesaikan permintaan.

Enum
EXTRA_COMPUTATION_UNSPECIFIED Tidak digunakan. Permintaan yang berisi nilai ini akan gagal.
TOLLS Informasi tol untuk elemen matriks.

RouteMatrixElementCondition

Kondisi rute yang ditampilkan.

Enum
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Hanya digunakan jika status elemen tidak OK.
ROUTE_EXISTS Rute ditemukan, dan informasi yang sesuai diisi untuk elemen.
ROUTE_NOT_FOUND Tidak ada rute yang dapat ditemukan. Kolom yang berisi informasi rute, seperti distanceMeters atau duration, tidak akan diisi di elemen.

LocalizedValues

Representasi teks properti tertentu.

Representasi JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Kolom
distance

object (LocalizedText)

Jarak perjalanan yang direpresentasikan dalam bentuk teks.

duration

object (LocalizedText)

Durasi yang direpresentasikan dalam bentuk teks dengan mempertimbangkan kondisi lalu lintas. Catatan: Jika informasi traffic tidak diminta, nilai ini sama dengan staticDuration.

staticDuration

object (LocalizedText)

Durasi yang direpresentasikan dalam bentuk teks tanpa mempertimbangkan kondisi lalu lintas.

transitFare

object (LocalizedText)

Tarif transportasi umum yang direpresentasikan dalam bentuk teks.