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
Layanan Distance Matrix:
- Dengan streaming, elemen dapat ditampilkan sebelum seluruh matriks dihitung, sehingga mengurangi latensi.
ComputeRouteMatrix
memiliki opsi terperinci untuk penghitungan traffic, sehingga Anda dapat membuat keputusan kompromi latensi kualitas.- Permintaan dijalankan pada prioritas yang lebih tinggi dalam infrastruktur Google, sehingga menghasilkan ketersediaan yang lebih tinggi.
- Anda dapat menentukan arah tujuan (arah perjalanan) dan informasi sisi jalan untuk titik jalan.
- Anda dapat 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 metode Routes Preferred API, lihat Memulai.
Menggunakan metode ComputeRouteMatrix
Metode ComputeRouteMatrix
tersedia melalui endpoint
v1 Routes Preferred.
Lihat dokumentasi berikut untuk informasi yang lebih mendetail:
gRPC: https://developers.google.com/maps/document/routes_preferred/reference/rpc/google.maps.routes.v1
Langkah-langkah umum berikut menjelaskan cara menggunakan gRPC untuk memanggil
metode ComputeRouteMatrix
:
Lihat protobuffer yang diperlukan dari repositori googleapis:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
Perlu diperhatikan bahwa beberapa sistem build, seperti Go, dapat otomatis melakukannya untuk Anda.
Dengan menggunakan bahasa pilihan dan kumpulan alat build, buat kode protobuf yang relevan.
Buat permintaan. Dua 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 diinginkan dalam mask kolom dalam 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 akan tetap stabil jika Anda menentukan kolom yang diperlukan, dan kolom baru yang memerlukan lebih banyak komputasi akan ditambahkan nanti.
Kirim permintaan Anda ke
routespreferred.googleapis.com:443
.Anda harus menggunakan protokol TLS.
Untuk contoh penggunaan metode ComputeRouteMatrix
, lihat
Menghitung Contoh Matriks Rute (Beta).
Salah satu fitur pembeda dari 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 tidak memiliki origin). Namun, jika error hanya berlaku
pada 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 aliran data 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
oleh permintaan, asal rute setara dengan origins[origin_index]
untuk elemen tertentu dan tujuan rutenya setara
dengan destinations[destination_index]
. Array ini tidak diindeks. Penting untuk menyimpan urutan daftar asal dan tujuan.
Menghitung biaya tol
Untuk informasi tentang cara menghitung biaya tol, lihat Menghitung biaya tol.
Untuk contoh penghitungan biaya tol, lihat Menghitung Contoh Matriks Rute.