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 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 Distance Matrix API (Lama):
- Streaming memungkinkan elemen ditampilkan sebelum seluruh matriks dihitung, sehingga menurunkan latensi.
ComputeRouteMatrixmemiliki opsi yang mendetail untuk penghitungan traffic, sehingga Anda dapat membuat keputusan kompromi antara kualitas dan 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 agar informasi tarif tol ditampilkan, bersama dengan 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 mengetahui informasi yang lebih mendetail:
Langkah-langkah umum berikut menjelaskan cara menggunakan gRPC untuk memanggil
metode ComputeRouteMatrix:
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.
Dengan menggunakan bahasa dan kumpulan alat build pilihan Anda, buat kode protobuffer yang relevan.
Buat permintaan Anda. Dua bagian metadata yang diperlukan harus dikirim bersama permintaan:
- X-Goog-Api-Key harus ditetapkan ke kunci API Anda.
X-Goog-Fieldmask harus ditetapkan 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 dianjurkan. 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 diperlukan dapat mengurangi latensi karena kolom tersebut mungkin memerlukan komputasi lebih lanjut. Latensi Anda akan tetap stabil jika Anda menentukan kolom yang diperlukan dan kolom baru yang memerlukan lebih banyak komputasi ditambahkan nanti.
Kirim permintaan Anda ke
routespreferred.googleapis.com:443.Anda harus menggunakan protokol TLS.
Untuk contoh penggunaan metode ComputeRouteMatrix, lihat
Contoh Menghitung Matriks Rute (Beta).
Salah satu fitur pembeda metode ComputeRouteMatrix adalah kode error dapat ditampilkan untuk seluruh aliran data atau untuk setiap elemen. Misalnya, koneksi streaming akan menampilkan error jika permintaan
memiliki format yang salah (misalnya, tidak memiliki origin). Namun, jika error hanya berlaku
untuk beberapa elemen aliran data (misalnya, menetapkan ID Tempat yang tidak valid
untuk tempat asal), hanya elemen yang terpengaruh oleh error yang berisi kode error.
Elemen yang ditampilkan oleh aliran data tidak dijamin akan ditampilkan dalam urutan apa pun. Oleh karena itu, setiap elemen berisi origin_index
dan destination_index. Untuk tempat asal dan tujuan yang ditentukan
oleh permintaan, tempat asal rute setara dengan origins[origin_index]
untuk elemen tertentu dan tujuan rute setara
dengan destinations[destination_index]. Array ini diindeks berbasis nol. Penting untuk menyimpan urutan daftar asal dan tujuan.
Menghitung tarif tol
Untuk mengetahui informasi tentang cara menghitung tarif tol, lihat Menghitung tarif tol.
Untuk contoh penghitungan tarif tol, lihat Contoh Menghitung Matriks Rute.