Secara default, Routes API Compute Routes
menghitung rute melalui beberapa perhentian, yang disebut titik jalan persinggahan, di
urutan yang Anda berikan.
Anda dapat meminta Routes API mengoptimalkan rute yang disediakan dengan mengatur ulang rute berhenti dalam urutan yang lebih efisien. Pengoptimalan titik jalan dioptimalkan untuk perjalanan waktu tetapi juga mempertimbangkan faktor lain seperti jarak dan jumlah belokan ketika memutuskan rute mana yang paling efisien.
Untuk mengoptimalkan titik jalan
Pastikan tidak ada titik jalan dalam rute yang memiliki
via
yang ditetapkan ketrue
, untuk contoh:{"address": "Clare,SA", "via": true}
. Untuk mengetahui informasi selengkapnya tentang titik jalan perantara, lihat Menentukan titik jalan perantara.Pastikan
routing_preference
tidak ditetapkan keTRAFFIC_AWARE_OPTIMAL
.Tetapkan
optimize_waypoint_order
ketrue
. Contoh:"optimizeWaypointOrder": "true",
Tentukan kolom
routes.optimizedIntermediateWaypointIndex
di kolom masker:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Memahami cara urutan titik jalan dioptimalkan
Berikut cara Routes API mengoptimalkan urutan titik jalan dalam rute:
Secara otomatis mengindeks titik jalan berdasarkan urutan yang Anda berikan mereka dalam permintaan, dimulai dengan 0.
Mengoptimalkan urutan titik jalan menggunakan nomor indeks yang yang ditetapkan ke titik jalan dalam permintaan.
Menampilkan urutan titik jalan yang dioptimalkan dalam objek
routes
, di metode Kolomwaypoint_order
, di bagianroutes.optimizedIntermediateWaypointIndex
.
Contoh
Permintaan ini meminta pengoptimalan untuk sebuah rute dari Adelaide, Australia Selatan, ke setiap daerah penghasil wine utama di Australia Selatan, lalu kembali ke Adelaide.
curl -X POST -H 'content-type: application/json' -d ' { "origin": { "address": "Adelaide,SA" }, "destination": { "address": "Adelaide,SA" }, "intermediates": [ {"address": "Barossa+Valley,SA"}, {"address": "Clare,SA"}, {"address": "Connawarra,SA"}, {"address": "McLaren+Vale,SA"} ], "travelMode": "DRIVE", "optimizeWaypointOrder": "true" }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Routes API mengindeks titik jalan perantara yang disediakan dalam permintaan, mulai dari 0. Contoh:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Connawarra,SA"}, 3 {"address": "McLaren+Vale,SA"}
Dengan menggunakan nomor indeks untuk empat titik jalan yang disediakan dalam permintaan, kemudian menampilkan urutan yang dioptimalkan:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]