Method: computeRouteMatrix

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 dengan menggunakan header HTTP/gRPC X-Goog-FieldMask (lihat header dan parameter 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 untuk semua kolom yang tersedia (untuk inspeksi 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 terlihat 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 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 kolom yang Anda perlukan saja akan menghasilkan ukuran respons yang lebih kecil, sehingga throughput jaringan yang 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 jumlah asal + jumlah tujuan yang ditentukan sebagai placeId atau address tidak boleh lebih besar dari 50.
  • Hasil dari jumlah asal × jumlah tujuan tidak boleh lebih besar dari 625 dalam situasi apa pun.
  • Produk dari jumlah asal × jumlah tujuan tidak boleh lebih besar dari 100 jika routingPreference ditetapkan ke TRAFFIC_AWARE_OPTIMAL.
  • Produk dari jumlah asal × jumlah tujuan tidak boleh lebih besar dari 100 jika travelMode ditetapkan 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 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. CATATAN: Anda hanya dapat menentukan departureTime di masa lalu jika RouteTravelMode disetel ke TRANSIT.

Stempel waktu dalam 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 kedatangan. CATATAN: Hanya dapat disetel saat RouteTravelMode disetel ke TRANSIT. Anda dapat menentukan departureTime atau arrivalTime, tetapi tidak keduanya.

Stempel waktu dalam 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 mengetahui informasi selengkapnya, lihat ID Lokal Unicode. Lihat Dukungan Bahasa untuk melihat daftar bahasa yang didukung. Jika Anda tidak memberikan nilai ini, bahasa tampilan akan disimpulkan dari lokasi asal pertama.

regionCode

string

Opsional. Kode wilayah, ditetapkan sebagai nilai yang berisi dua karakter ccTLD ("domain level teratas"). Untuk 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 untuk 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 lalu lintas berdasarkan rata-rata historis. RoutingPreference ke TRAFFIC_AWARE_OPTIMAL dan RouteTravelMode ke DRIVE. Setelan defaultnya adalah 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. Protokol 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 sama dengan staticDuration. Jika Anda menetapkan routingPreference ke TRAFFIC_AWARE atau TRAFFIC_AWARE_OPTIMAL, nilai ini 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 tol

fallbackInfo

object (FallbackInfo)

Dalam beberapa kasus, jika server tidak dapat menghitung rute dengan preferensi yang diberikan untuk pasangan asal/tujuan tertentu, server mungkin akan kembali menggunakan mode komputasi yang berbeda. Jika 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 tempat 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 harus 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 saat status elemen tidak diperbolehkan.
ROUTE_EXISTS Rute ditemukan, dan informasi yang sesuai diisi untuk elemen tersebut.
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 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 adalah nilai yang sama dengan 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.