Menghitung Matriks Rute

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

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

Metode ComputeRouteMatrix memiliki beberapa keunggulan dibandingkan dengan Layanan Distance Matrix:

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

Mengaktifkan 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 v1 Routes Preferred.

Lihat dokumentasi berikut untuk informasi 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. 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 serangkaian alat build pilihan Anda, buat kode protobuffer yang relevan.

  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 diperlukan 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 secara eksplisit cantumkan kolom yang diinginkan dalam mask kolom dalam kode produksi Anda.

      Untuk informasi lebih lanjut 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 diperlukan dapat mengurangi latensi karena kolom tersebut mungkin memerlukan komputasi lebih lanjut. Latensi akan tetap stabil jika Anda menentukan kolom yang diperlukan, dan kolom baru yang memerlukan lebih banyak komputasi akan ditambahkan nanti.

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

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

Satu fitur pembeda metode ComputeRouteMatrix adalah bahwa kode error dapat ditampilkan untuk seluruh aliran data atau untuk elemen individual. Misalnya, koneksi streaming akan menampilkan error jika format permintaan salah (misalnya, permintaan memiliki origin nol). Namun, jika error hanya berlaku ke beberapa elemen aliran data (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 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 diindeks nol. Penting untuk menyimpan pesanan daftar asal dan tujuan.

Menghitung tarif tol

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

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