Menghitung Matriks Rute

Anda dapat menghitung jarak dan durasi rute untuk beberapa tempat asal dan tujuan menggunakan metode ComputeRouteMatrix Routes Preferred API. ComputeRouteMatrix mendukung baik panggilan gRPC streaming maupun panggilan HTTP REST.

Dengan mempertimbangkan daftar pasangan asal dan tujuan, ComputeRouteMatrix menghitung jarak dan durasi rute yang dimulai di setiap tempat asal dan berakhir di setiap tujuan. Setiap elemen {i>stream<i} sesuai ke informasi untuk satu rute.

Metode ComputeRouteMatrix memiliki beberapa keunggulan dibandingkan Layanan Distance Matrix:

  • Streaming memungkinkan elemen ditampilkan sebelum seluruh matriks telah dihitung, yang akan menurunkan latensi.
  • ComputeRouteMatrix memiliki opsi terperinci untuk penghitungan traffic, memungkinkan Anda membuat keputusan kompromi berlatensi kualitas.
  • Permintaan dijalankan dengan prioritas yang lebih tinggi dalam infrastruktur Google, yang menghasilkan ketersediaan lebih tinggi.
  • Anda dapat menentukan arah (arah perjalanan) dan sisi jalan informasi titik jalan.
  • Anda bisa meminta agar informasi tol dikembalikan, beserta jarak rute dan PWT.

Mengaktifkan metode ComputeRouteMatrix

Sebelum dapat menggunakan metode ComputeRouteMatrix dalam kode, Anda harus mengaktifkannya. Untuk informasi selengkapnya tentang cara mengaktifkan Routes Preferred API metode, lihat Memulai.

Menggunakan metode ComputeRouteMatrix

Metode ComputeRouteMatrix tersedia melalui Rute yang Disukai Endpoint v1.

Lihat dokumentasi berikut untuk informasi lebih mendetail:

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

Istirahat: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

Langkah-langkah umum berikut menjelaskan cara menggunakan gRPC untuk memanggil metode ComputeRouteMatrix:

  1. Lihat protobuffer yang diperlukan dari repositori googleapis:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    Perhatikan bahwa beberapa sistem build, seperti Go, mungkin otomatis melakukan hal ini untuk Anda.

  2. Dengan menggunakan bahasa dan rangkaian alat build pilihan Anda, buat kode protobuffer.

  3. Buat permintaan Anda. Dua metadata yang diperlukan harus dikirim dengan permintaan:

    • X-Goog-Api-Key harus disetel ke kunci API Anda.
    • X-Goog-Fieldmask harus ditetapkan menjadi daftar kolom yang dipisahkan koma yang Anda butuhkan dari respons tersebut. Misalnya, X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Anda dapat menggunakan karakter pengganti (*) untuk menunjukkan semua bidang, tetapi tidak disarankan. Gunakan karakter pengganti untuk menguji dan memahami atribut Respons API, tetapi secara eksplisit mencantumkan kolom yang Anda inginkan dalam mask kolom dalam kode produksi.

      Untuk informasi selengkapnya tentang cara membuat string mask kolom, lihat https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Perhatikan bahwa menonaktifkan kolom yang tidak Anda perlukan dapat mengurangi latensi karena isian tersebut mungkin membutuhkan komputasi lebih lanjut. Latensi Anda akan tetap ada stabil jika Anda menentukan bidang yang Anda butuhkan dan bidang baru yang perlu lebih banyak komputasi yang ditambahkan kemudian.

  4. Kirim permintaan Anda ke routespreferred.googleapis.com:443.Anda harus menggunakan protokol TLS.

Untuk contoh penggunaan metode ComputeRouteMatrix, lihat Menghitung Contoh Matriks Rute (Beta).

Satu fitur pembeda dari metode ComputeRouteMatrix adalah kode error dapat ditampilkan baik untuk seluruh streaming maupun untuk satu per satu yang kurang penting. Misalnya, koneksi streaming menampilkan error jika permintaan salah format (misalnya, memiliki origin nol). Namun, jika terjadi error hanya ke beberapa elemen streaming (misalnya, menetapkan ID Tempat yang tidak valid untuk origin), hanya elemen yang terpengaruh oleh error tersebut yang berisi kode error.

Elemen yang ditampilkan oleh streaming tidak dijamin akan ditampilkan dalam urutan apa pun. Karena itu, setiap elemen berisi origin_index dan destination_index. Untuk tempat asal dan tujuan yang ditentukan berdasarkan permintaan, asal rute setara dengan origins[origin_index] untuk elemen tertentu dan tujuan rute setara ke destinations[destination_index]. Array ini diindeks nol. Ini penting untuk menyimpan pesanan daftar asal dan tujuan.

Menghitung tarif tol

Untuk mengetahui informasi tentang cara menghitung tarif tol, lihat Menghitung tarif tol.

Untuk mengetahui contoh penghitungan tarif tol, lihat Menghitung Contoh Matriks Rute.