Secara default, titik perantara digunakan untuk berhenti mengambil dan melepaskan penumpang, tetapi Anda juga dapat menentukan bahwa titik perantara hanya dimaksudkan untuk melewati.
Rute yang berisi titik jalan asal, titik jalan perantara
yang dilewati, dan titik jalan tujuan hanya berisi satu segmen rute yang
menghubungkan asal dan tujuan, saat melewati titik jalan
perantara (disebut via
).
Konfigurasikan titik jalan perantara menjadi titik jalan pass-through dengan
menetapkan properti via
titik jalan ke true
menggunakan
Waypoint (REST) atau
Waypoint (gRPC).
Properti via
paling efektif saat membuat rute sebagai respons terhadap pengguna yang menarik titik jalan di peta. Dengan demikian, pengguna dapat melihat tampilan rute akhir secara real-time dan membantu memastikan bahwa titik jalan ditempatkan di lokasi yang dapat diakses oleh Compute Routes.
Contoh berikut menunjukkan cara menandai titik jalan tengah sebagai titik jalan lewat.
{ "location": { "latLng": { "latitude":37.419734, "longitude":-122.0827784 } }, "via": true }
Mengakses ID tempat untuk titik perantara
Jika Anda menentukan lokasi titik awal, tujuan, atau titik perantara sebagai string alamat atau sebagai Kode Plus, API akan mencoba menemukan lokasi yang paling relevan yang memiliki ID tempat yang sesuai. Array
geocodingResults.intermediates
dalam hasil berisi ID tempat yang sesuai dengan lokasi
titik jalan, beserta data tambahan tentang lokasi.
Untuk setiap elemen array intermediates
, gunakan properti intermediateWaypointRequestIndex
untuk menentukan titik jalan tengah dalam permintaan yang sesuai dengan ID tempat dalam respons.
Contoh:
Anda menentukan tiga titik perantara dalam permintaan. Dua dari waypoint ini ditentukan oleh string alamat dan satu oleh koordinat lintang/bujur.
Anda menyertakan
geocodingResults
dalam mask kolom respons untuk menentukan untuk menampilkan arraygeocodingResults
dalam hasil.
curl -X POST -d '{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "24 Willie Mays Plaza, San Francisco, CA 94107" }, "intermediates": [ { "address": "450 Serra Mall, Stanford, CA 94305, USA" }, { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } }, { "address": "1836 El Camino Real, Redwood City, CA 94063" } ], "travelMode": "DRIVE", }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults' 'https://routes.googleapis.com/directions/v2:computeRoutes'
Respons menyertakan array geocodingResults
yang berisi ID tempat untuk
asal, tujuan, dan untuk dua dari tiga titik jalan. Ini adalah
titik jalan di indeks 0 dan 2 permintaan. Karena titik jalan di indeks 1
permintaan ditentukan menggunakan koordinat lintang/bujur, titik jalan tersebut
dihilangkan dari array geocodingResults
dalam respons.
{ "routes": [{...}], "geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g" }, "destination": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY" }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 0, "type": [ "street_address" ], "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y" }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 2, "type": [ "premise" ], "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0" } ] } }