Gunakan Routes API untuk menghitung jarak dan durasi rute untuk beberapa tempat asal dan tujuan dengan memanggil metode computeRouteMatrix (REST) atau metode ComputeRouteMatrix streaming (gRPC).
Dengan daftar tempat asal dan tujuan, metode ini menghitung jarak dan durasi rute yang dimulai di setiap tempat asal dan berakhir di setiap tujuan.
Mendapatkan matriks rute transportasi umum
Anda juga dapat menghitung matriks rute di transportasi umum. Sebagai contoh, lihat Mendapatkan matriks rute transportasi umum.
Batas permintaan
Metode Compute Route Matrix menerapkan batas permintaan berikut untuk titik jalan yang menggunakan alamat atau ID tempat, dan untuk elemen. Elemen adalah rute antara setiap tempat asal dan tujuan dalam matriks rute, sehingga jumlah elemen adalah jumlah tempat asal dikali jumlah tujuan. Misalnya, jika Anda memiliki 10 tempat asal dan 10 tempat tujuan, Anda memiliki 100 elemen:
Jumlah elemen tidak boleh melebihi 625 untuk rute yang bukan rute
TRANSIT.Jika Anda menentukan rute
TRANSIT, jumlah elemen tidak boleh melebihi 100.Jika Anda menentukan
TRAFFIC_AWARE_OPTIMAL, jumlah elemen tidak boleh melebihi 100. Untuk mengetahui informasi selengkapnya tentangTRAFFIC_AWARE_OPTIMAL, lihat Menentukan cara dan apakah akan menyertakan data lalu lintas.Jika Anda menentukan tempat asal atau tujuan menggunakan alamat atau ID tempat, Anda dapat menentukan total hingga 50 dengan cara ini.
Error respons
Salah satu fitur metode Compute Route Matrix adalah error dapat ditampilkan untuk seluruh respons atau untuk setiap elemen respons. Misalnya, seluruh respons berisi error jika permintaan salah format (misalnya, tidak memiliki origin).
Namun, jika error berlaku untuk subset elemen dalam respons (misalnya, rute tidak dapat dihitung untuk satu kombinasi origin dan tujuan), hanya elemen yang terpengaruh oleh error yang akan menampilkan kode error.
Hasil Streaming gRPC
Metode gRPC ComputeRouteMatrix mengambil daftar tempat asal dan tujuan, lalu menampilkan aliran data yang berisi informasi rute untuk setiap kombinasi tempat asal dan tujuan. Karena hasilnya ditampilkan sebagai streaming, Anda tidak perlu menunggu hingga semua kemungkinan kombinasi rute dihitung sebelum dapat mulai memproses hasilnya.
Elemen yang ditampilkan oleh aliran data tidak dijamin akan ditampilkan dalam urutan apa pun. Oleh karena itu, setiap elemen respons 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.
Contoh Compute Route Matrix
Gunakan metode computeRouteMatrix dalam permintaan HTTP untuk menghitung matriks rute.
Contoh HTTP
Contoh berikut menunjukkan permintaan HTTP computeRouteMatrix. Dalam contoh ini, Anda:
Tentukan array yang berisi dua titik jalan asal dan dua titik jalan tujuan. Metode ini menghitung rute dari setiap tempat asal ke setiap tujuan sehingga responsnya berisi empat rute.
Dalam array, elemen pertama berada di indeks 0, elemen kedua berada di indeks 1, dan seterusnya.
Sertakan mask kolom respons untuk menentukan kolom respons (REST) atau ComputeRoutesResponse (gRPC) yang akan ditampilkan. Dalam contoh ini, konfigurasikan permintaan untuk menampilkan
originIndex,destinationIndex,duration,distanceMeters,status, danconditionuntuk setiap rute. Untuk mengetahui informasi selengkapnya, lihat Memilih kolom yang akan ditampilkan.
curl -X POST -d '{ "origins": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420761, "longitude": -122.081356 } } }, "routeModifiers": { "avoid_ferries": true} }, { "waypoint": { "location": { "latLng": { "latitude": 37.403184, "longitude": -122.097371 } } }, "routeModifiers": { "avoid_ferries": true} } ], "destinations": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420999, "longitude": -122.086894 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.383047, "longitude": -122.044651 } } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \ 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'
Respons berisi empat kemungkinan rute untuk kombinasi semua titik jalan asal dan tujuan.
Identifikasi setiap rute dalam respons menggunakan kolom respons originIndex dan destinationIndex. Misalnya, originIndex 1 dalam respons sesuai dengan rute yang dihitung dari titik jalan di indeks 1 array origins dalam permintaan.
[ { "originIndex": 0, "destinationIndex": 0, "status": {}, "distanceMeters": 822, "duration": "160s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 0, "status": {}, "distanceMeters": 2919, "duration": "361s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 1, "status": {}, "distanceMeters": 5598, "duration": "402s", "condition": "ROUTE_EXISTS" }, { "originIndex": 0, "destinationIndex": 1, "status": {}, "distanceMeters": 7259, "duration": "712s", "condition": "ROUTE_EXISTS" } ]
Contoh gRPC
Untuk contoh permintaan gRPC, lihat contoh di Contoh permintaan gRPC. Contoh Java di halaman tersebut memanggil Compute Routes dan Compute Route Matrix.