Hitung ringkasan pemilihan rute
Untuk menggunakan Text Search (Baru) atau Nearby Search (Baru) guna menghitung durasi perjalanan dan jarak ke setiap tempat dalam respons:
-
Teruskan parameter
routingParameters.origin
dalam permintaan untuk menentukan koordinat lintang dan bujur asal pemilihan rute. Parameter ini yang diperlukan untuk menghitung durasi dan jarak ke setiap tempat dalam yang dihasilkan. -
Sertakan
routingSummaries
dalam mask kolom sehingga respons menyertakan arrayroutingSummaries
. {i>Array<i} ini berisi durasi dan jarak dari asal perutean ke setiap tempat dalam respons.
Menggunakan Text Search (Baru)
Dalam permintaan berikut, Anda menghitung durasi perjalanan dan jarak 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 yang cocok
tempat, dan array routingSummaries
yang berisi durasi dan jarak ke
perjalanan ke setiap tempat:
{ "places": [ { object (Place) } ] "routingSummaries": [ { "legs": [ object (Leg) ] } ] }
Setiap elemen dalam array routingSummaries
berada di array yang sesuai
lokasi sebagai tempat di 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 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 } ] }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ] }, … ] }
Dari contoh ini, Anda dapat melihat bahwa durasi dan jarak dari {i>routing<i} asal ke tempat pertama dalam hasil adalah 597 detik dan 2607 meter.
Menggunakan Nearby Search
Dalam contoh ini, Anda menghitung durasi perjalanan dan jarak ke setiap tempat dalam respons Penelusuran Langsung. Contoh ini menelusuri restoran di Sydney, Australia, dan menetapkan batasan lokasi serta asal pemilihan rute 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 menetapkan locationRestriction
ke titik tengah
Sydney untuk membiaskan hasil penelusuran ke lingkaran tersebut. Kemudian, Anda menyetel
asal perutean ke koordinat rumah Anda, yang berarti ke lokasi yang berbeda
di dalam lingkaran pencarian. Permintaan tersebut kemudian membiaskan hasil penelusuran ke
lingkaran, dan menghitung ringkasan perutean berdasarkan lokasi
rumah.
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 selengkapnya informasi tentang opsi ini, lihat Jenis kendaraan yang tersedia untuk rute. -
Menggunakan properti
routingParameters.routingPreference
untuk menetapkan pemilihan rute opsi preferensi keTRAFFIC_UNAWARE
(default),TRAFFIC_AWARE
, atauTRAFFIC_AWARE_OPTIMAL
. Setiap opsi memiliki tingkat kualitas dan latensi data yang bervariasi. Untuk informasi selengkapnya, lihat Menentukan cara dan apakah menyertakan traffic data Anda. -
Gunakan properti
routingParameters.routeModifiers
untuk menentukanavoidTolls
,avoidHighways
,avoidFerries
, danavoidIndoor
. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Menentukan fitur rute yang harus dihindari.
Pada contoh berikutnya, Anda menentukan mode perjalanan sebagai DRIVE
dan untuk menghindari jalan bebas hambatan:
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'