Routes API Pilihan saat ini hanya tersedia untuk pelanggan tertentu. Hubungi bagian penjualan untuk mempelajari lebih lanjut.

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 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

REST: https://developers.google.com/maps/document/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

    Perlu diperhatikan bahwa beberapa sistem build, seperti Go, dapat otomatis melakukannya untuk Anda.

  2. Dengan menggunakan bahasa pilihan dan kumpulan alat build, buat kode protobuf yang relevan.

  3. 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.

  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).

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.