Method: computeRouteMatrix

Menerima daftar asal dan tujuan, lalu menampilkan aliran 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: *
  • Masker 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 masker kolom, jika tidak, semua pesan akan tampak OK. Google tidak menganjurkan penggunaan mask kolom respons karakter pengganti (*), karena:

  • Dengan hanya memilih kolom yang Anda butuhkan, server kami dapat menghemat siklus komputasi, sehingga kami dapat menampilkan hasil kepada Anda dengan latensi yang lebih rendah.
  • Memilih hanya kolom yang Anda butuhkan dalam tugas produksi memastikan performa latensi yang stabil. Kami mungkin akan menambahkan kolom respons lainnya 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 kolom baru yang kami tambahkan akan otomatis disertakan dalam respons.
  • Memilih hanya kolom yang Anda butuhkan akan menghasilkan ukuran respons yang lebih kecil, dan dengan demikian, throughput jaringan yang lebih tinggi.

Permintaan HTTP

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

URL ini 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.
  • Hasil perkalian jumlah asal × jumlah tujuan tidak boleh lebih besar dari 625 dalam kasus apa pun.
  • Hasil perkalian jumlah asal × jumlah tujuan tidak boleh lebih besar dari 100 jika routingPreference disetel ke TRAFFIC_AWARE_OPTIMAL.
  • Hasil perkalian jumlah asal × jumlah tujuan tidak boleh lebih besar dari 100 jika travelMode disetel ke TRANSIT.
destinations[]

object (RouteMatrixDestination)

Wajib. Array tujuan, yang menentukan kolom matriks respons.

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 yang sangat panjang, 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 menyetel nilai ini, nilai ini akan disetel secara default ke waktu saat Anda membuat permintaan. CATATAN: Anda hanya dapat menentukan departureTime di masa lalu jika RouteTravelMode disetel ke TRANSIT.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

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

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

languageCode

string

Opsional. Kode bahasa BCP-47, seperti "en-US" atau "sr-Latn". Untuk mengetahui informasi selengkapnya, lihat Unicode Locale Identifier. 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 ditentukan sebagai nilai dua karakter ccTLD ("domain level teratas"). Untuk mengetahui informasi selengkapnya, lihat Domain level teratas kode negara.

units

enum (Units)

Opsional. Menentukan satuan ukuran 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 agar 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 dalam RouteMatrixElement yang berisi prediksi waktu lalu lintas berdasarkan rata-rata historis. TrafficModel hanya tersedia untuk permintaan yang telah menetapkan 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 disetel 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)

Durasi waktu yang diperlukan untuk menavigasi rute. Jika Anda menetapkan routingPreference ke TRAFFIC_UNAWARE, nilai ini akan sama dengan staticDuration. Jika Anda menyetel 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 pembatasan dan informasi jalan 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 penghitungan yang berbeda. Saat mode penggantian digunakan, kolom ini berisi informasi mendetail tentang respons penggantian. Jika tidak, kolom ini tidak disetel.

localizedValues

object (LocalizedValues)

Representasi teks dari properti RouteMatrixElement.

originIndex

integer

Indeks berbasis nol dari asal dalam permintaan.

destinationIndex

integer

Indeks tujuan berbasis nol 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

Tujuan tunggal 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 biaya 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 Rute tidak dapat ditemukan. Kolom yang berisi informasi rute, seperti distanceMeters atau duration, tidak akan diisi dalam elemen.

LocalizedValues

Representasi teks dari properti tertentu.

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

object (LocalizedText)

Jarak perjalanan ditampilkan dalam bentuk teks.

duration

object (LocalizedText)

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

staticDuration

object (LocalizedText)

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

transitFare

object (LocalizedText)

Tarif transportasi umum ditampilkan dalam bentuk teks.