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

  • Streaming memungkinkan elemen ditampilkan sebelum seluruh matriks dihitung, sehingga menurunkan 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 lebih tinggi.
  • Anda dapat menentukan informasi arah tujuan (arah perjalanan) dan sisi jalan untuk titik jalan.
  • Anda dapat meminta informasi tol ditampilkan, 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 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. Lihat protobuffer yang diperlukan dari repositori googleapis:

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

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

  2. Dengan menggunakan bahasa pilihan Anda dan serangkaian alat build, buat kode protobuf 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 ke daftar yang dipisahkan koma dari kolom yang Anda butuhkan 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 di mask kolom dalam kode produksi.

      Untuk 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 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 metode ComputeRouteMatrix adalah kode error dapat ditampilkan untuk seluruh aliran data atau untuk masing-masing elemen. Misalnya, koneksi stream 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 akan memuat 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 rute setara dengan destinations[destination_index]. Array ini diindeks nol. 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.