Ringkasan penghitungan perutean
Untuk menggunakan Text Search (Baru) atau Nearby Search (Baru) guna menghitung durasi dan jarak perjalanan ke setiap tempat dalam respons:
-
Teruskan parameter
routingParameters.origin
dalam permintaan untuk menentukan koordinat lintang dan bujur asal perutean. Parameter ini diperlukan untuk menghitung durasi dan jarak ke setiap tempat dalam respons. -
Sertakan
routingSummaries
dalam mask kolom sehingga respons menyertakan arrayroutingSummaries
. Array ini berisi durasi dan jarak dari asal perutean ke setiap tempat dalam respons.
APIs Explorer memungkinkan Anda membuat permintaan langsung sehingga Anda dapat memahami API dan opsi API:
Menggunakan Text Search (Baru)
Dalam permintaan berikut, Anda menghitung durasi dan jarak perjalanan ke setiap tempat dalam respons Text Search (Baru):
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
Respons berisi dua array JSON: array places
berisi tempat yang cocok, dan array routingSummaries
berisi durasi dan jarak untuk bepergian ke setiap tempat:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Setiap elemen dalam array routingSummaries
berada di lokasi array
yang sesuai dengan tempat dalam array places
. Artinya, elemen di
routingSummaries[0]
sesuai dengan tempat di places[0]
.
Panjang array routingSummaries
sama dengan panjang array
places
. Jika routingSummary
untuk suatu tempat tidak tersedia, entri array akan kosong.
Karena contoh ini menghitung durasi dan jarak dari asal perutean ke setiap tempat, kolom routingSummaries.legs
dalam respons berisi satu objek Leg
yang berisi duration
dan distanceMeters
dari asal perutean ke tempat.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
Dari contoh ini, Anda dapat melihat bahwa durasi dan jarak dari asal perutean ke tempat pertama dalam hasil adalah 597 detik dan 2.607 meter.
Menggunakan Nearby Search
Dalam contoh ini, Anda menghitung durasi dan jarak perjalanan ke setiap tempat dalam respons Nearby Search. Contoh ini menelusuri restoran di Sydney, Australia, dan menetapkan batasan lokasi serta asal perutean ke koordinat lintang dan bujur yang sama:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": -33.8688, "longitude": 151.1957362}, "radius": 500.0 } }, "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \ -H "X-Goog-FieldMask: places.displayName,routingSummaries" \ https://places.googleapis.com/v1/places:searchNearby
Anda tidak harus menggunakan koordinat yang sama untuk locationRestriction
dan
untuk asal perutean. Misalnya, Anda menyetel locationRestriction
ke titik tengah Sydney untuk memengaruhi hasil penelusuran ke lingkaran tersebut. Namun, Anda kemudian menetapkan
asal perutean ke koordinat rumah Anda, yang berarti ke lokasi lain
dalam lingkaran penelusuran. Permintaan kemudian memihaki hasil penelusuran ke lingkaran, dan menghitung ringkasan perutean berdasarkan lokasi rumah Anda.
Menentukan opsi perjalanan
Secara default, perhitungan durasi dan jarak adalah untuk mobil. Namun, Anda dapat mengontrol jenis kendaraan, serta opsi lainnya, dalam penelusuran.
-
Gunakan parameter
routingParameters.travelMode
untuk menetapkan mode transportasi keDRIVE
,BICYCLE
,WALK
, atauTWO_WHEELER
. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Jenis kendaraan yang tersedia untuk rute. -
Gunakan properti
routingParameters.routingPreference
untuk menetapkan opsi preferensi pemilihan rute keTRAFFIC_UNAWARE
(default),TRAFFIC_AWARE
, atauTRAFFIC_AWARE_OPTIMAL
. Setiap opsi memiliki tingkat kualitas data dan latensi yang berbeda. Untuk mengetahui informasi selengkapnya, lihat Menentukan cara dan apakah akan menyertakan data traffic.Properti
routingParameters.routingPreference
memengaruhi petunjuk yang ada dalam kolom Pratinjau (Pra-GA)directionsUri
karena Google Maps menampilkan opsi lalu lintas saat membuka link. -
Gunakan properti
routingParameters.routeModifiers
untuk menentukanavoidTolls
,avoidHighways
,avoidFerries
, danavoidIndoor
. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Menentukan fitur rute yang harus dihindari.
Dalam contoh berikutnya, Anda menentukan mode perjalanan sebagai DRIVE
dan untuk menghindari jalan tol:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 }, "travelMode":"DRIVE", "routeModifiers": { "avoidHighways": true } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
Cobalah!
APIs Explorer memungkinkan Anda membuat contoh permintaan sehingga Anda dapat memahami API dan opsi API.
Pilih ikon API api di sisi kanan halaman.
Edit parameter permintaan secara opsional.
Pilih tombol Execute. Dalam dialog, pilih akun yang ingin Anda gunakan untuk membuat permintaan.
Di panel APIs Explorer, pilih ikon layar penuh fullscreen untuk meluaskan jendela APIs Explorer.