Menghitung Matriks Rute

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

Dengan daftar pasangan asal dan tujuan, ComputeRouteMatrix menghitung jarak dan durasi rute yang dimulai dari setiap asal dan berakhir di setiap tujuan. Setiap elemen stream sesuai dengan informasi untuk satu rute.

Metode ComputeRouteMatrix memiliki beberapa keunggulan dibandingkan dengan Distance Matrix Service:

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

Aktifkan metode ComputeRouteMatrix

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

Menggunakan metode ComputeRouteMatrix

Metode ComputeRouteMatrix tersedia melalui endpoint Routes Preferred v1.

Lihat dokumentasi berikut untuk mengetahui informasi yang lebih mendetail:

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

REST: 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. Periksa protobuffer yang diperlukan dari repositori googleapis:

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

    Perhatikan bahwa beberapa sistem build, seperti Go, dapat melakukannya secara otomatis untuk Anda.

  2. Dengan menggunakan bahasa pilihan dan serangkaian alat build, buat kode protobuffer yang relevan.

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

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

      Untuk mengetahui 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 kolom tersebut mungkin memerlukan komputasi lebih lanjut. Latensi Anda akan tetap stabil jika Anda menentukan kolom yang Anda butuhkan dan kolom baru yang memerlukan lebih banyak komputasi ditambahkan nanti.

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

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

Salah satu fitur pembeda metode ComputeRouteMatrix adalah bahwa kode error dapat ditampilkan untuk seluruh aliran atau untuk setiap elemen. Misalnya, koneksi streaming menampilkan error jika permintaan salah bentuk (misalnya, memiliki nol asal). Namun, jika error hanya berlaku untuk beberapa elemen streaming (misalnya, menyetel ID Tempat yang tidak valid untuk asal), hanya elemen yang terpengaruh oleh error yang berisi kode error.

Elemen yang ditampilkan oleh stream tidak dijamin akan ditampilkan dalam urutan apa pun. Oleh karena itu, setiap elemen berisi origin_index dan destination_index. Untuk asal dan tujuan yang ditentukan oleh permintaan, asal rute setara dengan origins[origin_index] untuk elemen tertentu dan tujuan rute setara dengan destinations[destination_index]. Array ini memiliki indeks berbasis nol. Penting untuk menyimpan urutan daftar asal dan tujuan.

Menghitung biaya tol

Untuk mengetahui informasi tentang penghitungan biaya tol, lihat Menghitung biaya tol.

Untuk contoh penghitungan biaya tol, lihat Contoh Penghitungan Matriks Rute.