Destination
mengacu pada lokasi atau tempat tertentu yang ingin dijangkau atau dituju oleh pengguna. Destination juga mencakup kumpulan informasi yang terkait dengan
lokasi atau tempat, seperti titik navigasi, tempat terkenal, pintu masuk, dan
garis batas bangunan.
Metode
SearchDestinations
Geocoding API memungkinkan Anda mengambil informasi mendetail tentang berbagai
tujuan berdasarkan kriteria input yang berbeda, seperti alamat, ID tempat, atau
koordinat lintang dan bujur.
Permintaan Search destinations
Permintaan tujuan penelusuran adalah permintaan POST HTTP ke URL dalam bentuk:
https://geocode.googleapis.com/v4/geocode/destinations
Teruskan semua parameter dalam isi permintaan JSON atau di header sebagai bagian dari permintaan POST. Contoh:
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Anda dapat menentukan lokasi untuk menelusuri tujuan dengan salah satu dari 3 cara berikut:
- Alamat
- ID tempat
- Koordinat lintang dan bujur
Menelusuri tujuan berdasarkan alamat
Anda dapat menentukan alamat sebagai string tidak terstruktur. Geocoding alamat tidak menyelesaikan koordinat lintang dan bujur, atau string tidak terstruktur lainnya yang tidak mewakili alamat. Permintaan yang menggunakan string tersebut tidak didukung dan dapat menyebabkan respons error atau perilaku yang tidak ditentukan. Contoh kueri yang tidak didukung meliputi:
| Jenis kueri | Contoh |
|---|---|
| Koordinat lintang dan bujur. Gunakan kueri lokasi sebagai gantinya. | "37.422131,-122.084801" |
| Terlalu banyak konsep atau batasan, seperti nama beberapa tempat, jalan, atau kota dalam satu kueri | "Market Street San Francisco San Jose Airport" |
| Elemen alamat pos tidak ditampilkan di Google Maps |
"C/O John Smith 123 Main Street" "P.O. Box 13 San Francisco" |
| Nama bisnis, jaringan, atau kategori yang digabungkan dengan lokasi tempat entitas ini tidak tersedia | "Tesco near Dallas, Texas" |
| Kueri ambigu dengan beberapa interpretasi | "Pengembalian pengisi daya" |
| Nama historis yang tidak lagi digunakan | "Middlesex United Kingdom" |
| Elemen atau niat non-geospasial | "Berapa banyak perahu di Ventura Harbor?" |
| Nama tidak resmi atau nama unik |
"The Jenga" "The Helter Skelter" |
| Entitas politik besar (Kota, Negara Bagian, Negara) |
"New York City" "California" "USA" |
| Rute tanpa alamat tertentu |
"1st Ave., NYC, NY" "I-95" |
curl -X POST -d '{
"addressQuery": {
"addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
atau sebagai
postalAddress:
curl -X POST -d '{
"addressQuery": {
"address": {
"addressLines": ["601 S Bernardo Ave"],
"locality": "Sunnyvale",
"postalCode": "94087",
"administrativeArea": "CA",
"regionCode": "US"
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Anda biasanya menggunakan format postalAddress saat memproses komponen alamat yang diambil dalam formulir HTML.
Menelusuri tujuan berdasarkan ID tempat
Anda dapat mengambil tujuan dengan memberikan ID tempat:
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
ID Tempat yang Didukung
Metode Search Destinations berfungsi paling baik dengan ID Tempat yang mewakili
tujuan tertentu yang dapat dinavigasi. ID tempat untuk jenis seperti establishment,
point_of_interest, premise, street_address, dan subpremise umumnya
didukung. ID tempat yang tidak mewakili lokasi terpisah, seperti yang
disimpulkan dari rentang alamat (misalnya, "10-20 Main St"), bagian rute
tanpa nomor tertentu, atau Plus Codes tidak didukung. ID tempat untuk
hasil yang areanya terlalu besar (misalnya, "Samudra Pasifik") juga
tidak didukung.
Menggunakan Autocomplete (New) dengan Search Destinations
Untuk memastikan kompatibilitas, gunakan Autocomplete (New) guna menemukan ID Tempat untuk digunakan dengan Search Destinations. Saat menggunakan Autocomplete (New), Anda harus memfilter
hasil berdasarkan jenis menggunakan
parameter
includedPrimaryTypes. ID tempat yang ditampilkan oleh Autocomplete (Baru) menggunakan filter yang direkomendasikan berikut didukung oleh Tujuan Penelusuran:
"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]
Selain itu, Anda tidak boleh menetapkan flag include_pure_service_area_businesses
ke true dalam permintaan Autocomplete (New).
Menelusuri tujuan berdasarkan lokasi
Anda dapat menelusuri tujuan dengan memberikan koordinat lintang dan bujur:
curl -X POST -d '{
"locationQuery": {
"location": {
"latitude": 37.37348780,
"longitude": -122.05678064
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Menggunakan OAuth untuk membuat permintaan
Geocoding API v4 mendukung OAuth 2.0 untuk autentikasi. Untuk menggunakan OAuth dengan Geocoding API, token OAuth harus diberi cakupan yang benar. Geocoding API mendukung cakupan berikut untuk digunakan dengan metode Destinations:
https://www.googleapis.com/auth/maps-platform.geocode— Gunakan dengan semua metode Geocoding API.
Selain itu, Anda dapat menggunakan cakupan https://www.googleapis.com/auth/cloud-platform umum untuk semua metode Geocoding API. Cakupan tersebut berguna selama pengembangan,
tetapi tidak untuk produksi, karena merupakan cakupan umum yang memungkinkan akses ke semua
metode.
Untuk mengetahui informasi dan contoh selengkapnya, lihat Menggunakan OAuth.
Respons penelusuran tujuan
Respons Search Destinations memberikan konteks yang kaya dan hiperlokal tentang lokasi.
Objek PlaceView dalam respons Search Destinations (seperti primary, item di containingPlaces, dan landmarks) menggunakan kolom untuk menunjukkan jenis tempat:
types: Array string yang menunjukkan jenis tempat.primaryType: String yang menunjukkan jenis utama tempat.
Kemungkinan nilai string untuk types dan primaryType diambil dari Tabel A dan Tabel B di halaman Jenis Tempat (Baru).
Bagian ini menjelaskan kolom respons utama. Untuk mengetahui detail selengkapnya tentang semua kolom respons, lihat Referensi API.
primary
Tempat utama yang diidentifikasi oleh kueri dalam permintaan.
addressComponents
Array yang berisi komponen terpisah yang berlaku untuk alamat ini.
Setiap komponen alamat biasanya berisi kolom berikut:
types[]adalah array yang menunjukkan jenis komponen alamat. Lihat daftar jenis yang didukung.longTextadalah deskripsi teks lengkap atau nama komponen alamat seperti yang ditampilkan oleh Geocoder.shortTextadalah nama tekstual yang disingkat untuk komponen alamat, jika tersedia. Misalnya, komponen alamat untuk negara bagian Alaska dapat memilikilongText"Alaska" danshortText"AK" menggunakan dua huruf singkatan istilah pos.languageCodeadalah bahasa yang digunakan untuk memformat komponen ini, dalam notasi CLDR.
containingPlaces
Array objek PlaceView yang mewakili entitas spasial yang lebih besar yang mencakup atau berisi tujuan utama. Contoh:
- Jika tujuan utama adalah toko atau restoran di dalam pusat perbelanjaan,
containingPlacesakan menyertakan pusat perbelanjaan (structureType: GROUNDS). - Jika tujuan utama adalah unit apartemen individu (
subpremise),containingPlacesakan menyertakan bangunan tempat tinggal yang mengelilinginya (structureType: BUILDING) dan, jika ada, kompleks apartemen yang lebih luas (structureType: GROUNDS).
Setiap PlaceView di containingPlaces menyertakan displayName, placeId, location, structureType, dan displayPolygon (jika tersedia) miliknya sendiri, sehingga Anda dapat merender seluruh garis batas kampus atau kompleks bersama dengan unit tertentu.
subDestinations
Array objek PlaceView yang mewakili lokasi yang lebih mendetail yang terdapat dalam tujuan utama. Contoh:
- Saat membuat kueri pusat perbelanjaan, bandara, atau kampus universitas,
subDestinationsmencantumkan masing-masing toko, terminal, gerbang, atau gedung kampus. - Saat mengkueri bangunan komersial atau perumahan multi-unit,
subDestinationsmencantumkan unit suite atau apartemen individual.
Anda dapat menggunakan containingPlaces dan subDestinations bersama-sama untuk membuat pemilih hierarkis interaktif yang membantu pengguna memperjelas lokasi kedatangan yang kompleks.
Hierarki tujuan dan perilaku respons
Saat menafsirkan respons Destination, perhatikan aturan dan hubungan struktural berikut:
primary: Menampilkan entity paling spesifik yang di-resolve untuk kueri Anda (seperti bangunan atau sub-premis). Kolom ini diisi di sebagian besar kasus penggunaan normal. Namun, di area pedesaan, tujuan mungkin tidak memiliki entitas utama, tetapi masih memiliki titik navigasi atau tempat terkenal.containingPlacesmewakili induk yang mencakup (ancestor):containingPlacesdiisi saat tempat utama secara fisik berada di dalam struktur spasial yang lebih besar. Untuk tempat yang lebih terperinci seperti subpremis, tempat tersebut dapat mencantumkan semua tingkat ancestor dalam hierarki. Hal ini dapat mencakup bagian bangunan yang tertutup,BUILDING, dan kampus atau kompleks perumahanGROUNDS. Jika tujuan adalah bangunan mandiri independen atau pin terisolasi,containingPlacesmungkin kosong.subDestinationsmewakili turunan yang dimuat (turunan):subDestinationsdiisi saat tujuan secara fisik berisi tempat yang lebih terperinci, dan dapat mencakup berbagai jenis struktur turunan—sepertiBUILDINGturunan di kampus atau halaman, atau unit, bagian, dan toko interior dalam bangunan.
entrances
Objek dalam array entrances[] memiliki kolom berikut:
displayNameObjek
LocalizedTextyang berisi nama yang dapat dibaca manusia untuk pintu masuk (misalnya,"South Bernardo Avenue"atau"5th Avenue"), jika tersedia.locationSatu pasangan koordinat lintang/bujur yang menentukan lokasi titik masuk dan keluar ke suatu tempat.
entrance_tags[]Array tag pintu masuk yang mendeskripsikan karakteristik pintu masuk. Nilai berikut didukung:
"PREFERRED"
Menunjukkan bahwa pintu masuk ini kemungkinan menyediakan akses fisik ke tempat yang ditampilkan. Suatu tempat dapat memiliki beberapa pintu masuk pilihan. Jika pintu masuk tidak memiliki tag ini, berarti pintu masuk tersebut secara fisik berada di bangunan yang sama, tetapi belum tentu menyediakan akses ke tempat tersebut.
Misalnya, jika tempat yang ditampilkan adalah restoran di mal, pintu masuk
"PREFERRED"adalah pintu masuk yang mengarah ke restoran itu sendiri, sedangkan pintu masuk lain yang ditampilkan adalah pintu masuk lain untuk bangunan tersebut, seperti pintu masuk ke restoran lain di mal.Jika tempat yang ditampilkan adalah bangunan itu sendiri, pintu masuk
"PREFERRED"akan mengarah ke bagian "utama" bangunan. Misalnya, di pusat perbelanjaan, pintu masuk"PREFERRED"adalah pintu masuk yang memungkinkan akses ke area lobi utama, tetapi jika pintu masuk hanya menyediakan akses ke toko di sisi bangunan, pintu masuk tersebut bukan pintu masuk"PREFERRED".streetViewThumbnaildanstreetViewAnnotationParameter untuk Street View Static API, yang memungkinkan Anda menampilkan gambar yang relevan untuk lokasi ini. Pelajari kolom ini lebih lanjut.
structureType
Jenis struktur yang diwakili oleh tempat ini.
POINTLokasi titik.
SECTIONSubbagian bangunan.
BUILDINGBangunan.
GROUNDSArea luas yang biasanya berisi beberapa bangunan, seperti kampus universitas, kompleks apartemen, atau pusat perbelanjaan.
navigationPoints
Kolom navigationPoints dalam respons Geocoding berisi daftar titik yang berguna untuk menavigasi ke tempat tersebut. Secara khusus, titik akses harus
digunakan sebagai titik awal atau akhir saat merutekan di jaringan jalan dari
atau ke tempat tersebut.
Setiap titik navigasi berisi nilai berikut:
navigationPointTokenadalah token yang berisi informasi kontekstual di kolomnavigationPoints. Anda dapat mengirim token ini ke API pemilihan rute dan navigasi untuk meningkatkan pengalaman pemilihan rute dan pengemudi di aplikasi Anda. Lihat Memilih rute menggunakan token titik navigasi untuk mengetahui informasi selengkapnya.locationberisi nilai lintang dan bujur titik navigasi. Lokasi ini akan selalu sangat dekat dengan jaringan jalan dan merupakan titik perhentian atau awal yang ideal untuk menavigasi ke dan dari suatu tempat. Titik ini sengaja sedikit digeser dari garis tengah jalan untuk menandai dengan jelas sisi jalan tempat lokasi berada.travelModesadalah daftar mode perjalanan yang dapat mengakses titik navigasi:"DRIVE"adalah mode perjalanan yang sesuai dengan rute mobil."WALK"adalah mode perjalanan yang sesuai dengan rute jalan kaki.
usagesadalah daftar penggunaan yang didukung oleh titik navigasi. Penggunaan dapat berupa:"DROPOFF""PICKUP""PARKING"
Untuk penjemputan dan pengantaran, gunakan titik navigasi dengan mode perjalanan DRIVE
dan penggunaan PICKUP atau DROPOFF. Jika titik penjemputan atau penurunan tidak tersedia, gunakan titik navigasi mengemudi teratas.
streetViewThumbnaildanentranceAnnotationmenyediakan parameter untuk Street View Static API, sehingga Anda dapat menampilkan gambar yang relevan untuk lokasi ini. Pelajari kolom ini lebih lanjut.
altitude_metersberisi ketinggian titik navigasi dalam meter yang relatif terhadap elipsoid WGS-84. Dalam kasus di mana terdapat segmen jalan yang bertumpuk secara vertikal, gunakan kolomaltitude_metersuntuk memilih segmen jalan terbaik yang akan dinavigasi oleh sistem Anda.
landmarks
Array objek Landmark yang mewakili tempat-tempat terkenal di sekitar yang membantu pengguna mengorientasikan diri dan menemukan tujuan saat tiba. Kemampuan ini menggantikan dan memperluas fitur Deskripsi Alamat v3 lama.
Setiap objek Landmark berisi:
place: ObjekPlaceViewyang mendeskripsikan tempat terkenal, termasukdisplayName,placeId,location,types, dandisplayPolygon.relationalDescription: StringLocalizedTextyang dilokalkan dan dapat dibaca manusia yang menjelaskan hubungan spasial antara tujuan dan tempat terkenal (misalnya,"Near Starbird Chicken","Across from Central Park", atau"Around the corner from the Empire State Building").straightLineDistanceMeters: Jarak garis lurus (jarak terpendek) dalam meter dari tempat terkenal ke tujuan.travelDistanceMeters: Perkiraan jarak perjalanan dalam meter di sepanjang jalan atau jaringan pejalan kaki antara tempat terkenal dan tujuan.tags: Tag kontekstual yang menunjukkan peran spasial tempat terkenal yang terkait dengan tujuan:"ARRIVAL": Tempat terkenal hiperlokal yang berada tepat di samping atau di seberang tujuan (biasanya dalam jarak 50–100 m), paling cocok untuk panduan kedatangan jarak dekat."ADDRESS": Tempat terkenal di lingkungan sekitar (biasanya dalam jarak 100–500 m), paling cocok untuk orientasi sebelum perjalanan dan konfirmasi alamat.- Bangunan terkenal dapat berisi kedua tag jika keduanya terkenal secara lokal dan berdekatan.
Setiap tempat terkenal berisi kolom berikut:
placeadalah objekPlaceViewyang mewakili tempat terkenal ini.relationalDescriptionadalah deskripsi yang dapat dibaca manusia tentang hubungan tujuan dengan tempat terkenal, seperti "Dekat Empire State Building" atau "Di seberang Gedung Putih".tags[]adalah array tag yang menjelaskan cara menggunakan tempat terkenal dalam konteks tujuan:"ADDRESS": Tempat yang terkenal secara lokal yang dapat digunakan untuk mengidentifikasi lokasi umum tujuan."ARRIVAL": Tempat yang dapat digunakan untuk membantu tiba di tujuan, berguna untuk navigasi setelah dekat dengan tujuan.
straightLineDistanceMetersadalah jarak garis lurus dari tempat terkenal ini ke tujuan dalam meter.travelDistanceMetersadalah jarak berjalan kaki dari tempat terkenal ini ke tujuan dalam meter.
arrivalSummary
Insight yang didukung AI untuk membantu kedatangan. Lihat ringkasan yang didukung AI.
parkingOptions
Informasi parkir mendetail.
Format respons
SearchDestinations menampilkan
SearchDestinationsResponse
dari formulir JSON berikut:
{ "destinations": [ { "primary": { "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w", "displayName": { "text": "Arby's", "languageCode": "en" }, "primaryType": "fast_food_restaurant", "types": [ "fast_food_restaurant", "sandwich_shop", "deli", "meal_takeaway", "food_delivery", "american_restaurant", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "601 S Bernardo Ave" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3734545, "longitude": -122.05693269999998 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.056930138027, 37.3735253692531 ], [ -122.056960139391, 37.3735372663597 ], [ -122.056994129366, 37.3734828786847 ], [ -122.056969677395, 37.3734731161089 ], [ -122.057061762447, 37.3733261309656 ], [ -122.056979388817, 37.3732935577128 ], [ -122.056798860285, 37.3735818838642 ], [ -122.056875858081, 37.3736121235316 ], [ -122.056930138027, 37.3735253692531 ] ] ] } }, "containingPlaces": [ { "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw", "displayName": { "text": "Cherry Chase Shopping Center", "languageCode": "en" }, "primaryType": "shopping_mall", "types": [ "shopping_mall", "point_of_interest", "establishment" ], "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1020", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "663 S Bernardo Ave" ] }, "structureType": "GROUNDS", "location": { "latitude": 37.3731231, "longitude": -122.0578211 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.057112227103, 37.3714618008523 ], [ -122.057076849821, 37.3715743611411 ], [ -122.056963607756, 37.3719081793948 ], [ -122.056865279559, 37.3722026053835 ], [ -122.056687872374, 37.3727258358476 ], [ -122.056580005889, 37.3730511370747 ], [ -122.056498845827, 37.3732994782583 ], [ -122.056338259713, 37.3737878663325 ], [ -122.056618678291, 37.373887693582 ], [ -122.056912102521, 37.3740010327191 ], [ -122.057532418159, 37.3742476426462 ], [ -122.057673926626, 37.3742441740031 ], [ -122.057735663106, 37.3742328516943 ], [ -122.057766531332, 37.3742220604378 ], [ -122.057797572967, 37.37420520725 ], [ -122.057828267759, 37.3741852342085 ], [ -122.058060299297, 37.3740060842535 ], [ -122.058199726081, 37.3737861673422 ], [ -122.05836707267, 37.373524542556 ], [ -122.058569622393, 37.3732018598683 ], [ -122.0587638478, 37.3728890198039 ], [ -122.058934661823, 37.3726036257774 ], [ -122.059164956851, 37.3722498383629 ], [ -122.058997784906, 37.3721804442035 ], [ -122.057936479838, 37.3717605636234 ], [ -122.057495827092, 37.3715860151634 ], [ -122.057112227103, 37.3714618008523 ] ] ] } } ], "landmarks": [ { "place": { "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg", "displayName": { "text": "Chase Bank", "languageCode": "en" }, "primaryType": "bank", "types": [ "bank", "atm", "finance", "point_of_interest", "establishment" ], "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1234 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.373579, "longitude": -122.05752700000001 } }, "relationalDescription": { "text": "Near Chase Bank", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 61.182193756103516, "travelDistanceMeters": 63.075645446777344 }, { "place": { "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14", "displayName": { "text": "Safeway", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "butcher_shop", "florist", "deli", "supermarket", "bakery", "food_delivery", "market", "manufacturer", "food_store", "store", "food", "service", "point_of_interest", "establishment" ], "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "639 S Bernardo Ave" ] }, "structureType": "POINT", "location": { "latitude": 37.3727912, "longitude": -122.0581172 } }, "relationalDescription": { "text": "Around the corner from Safeway", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 158.65606689453125, "travelDistanceMeters": 131.1669921875 }, { "place": { "place": "places/ChIJu-PSYui2j4ARNiwOwBApGqk", "displayName": { "text": "Oil Changers", "languageCode": "en" }, "types": [ "car_repair", "service", "point_of_interest", "establishment" ], "formattedAddress": "Oil Changers, 1240 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1240 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3743054, "longitude": -122.0584272 } }, "relationalDescription": { "text": "Down the road from Oil Changers", "languageCode": "en" }, "tags": [ "ARRIVAL" ], "straightLineDistanceMeters": 140.52459716796875, "travelDistanceMeters": 143.24220275878906 }, { "place": { "place": "places/ChIJKRbl5oG3j4ARwuvPGUmtCj0", "displayName": { "text": "Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "cake_shop", "supermarket", "asian_grocery_store", "indian_restaurant", "meal_takeaway", "bakery", "manufacturer", "wholesaler", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Apni Mandi Farmers Market Sunnyvale, 1111 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1056", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1111 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3737199, "longitude": -122.0522958 } }, "relationalDescription": { "text": "Near Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 410.37435913085938, "travelDistanceMeters": 479.49893188476562 }, { "place": { "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs", "displayName": { "text": "Starbird Chicken", "languageCode": "en" }, "primaryType": "chicken_restaurant", "types": [ "chicken_restaurant", "fast_food_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1028", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1241 W El Camino Real" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3746764, "longitude": -122.05708860000001 }, "displayPolygon": { "coordinates": [ [ [ -122.057003840785, 37.3747648209809 ], [ -122.057136852459, 37.3747919153144 ], [ -122.057205005705, 37.3745815131859 ], [ -122.057071994114, 37.3745544186944 ], [ -122.057003840785, 37.3747648209809 ] ] ], "type": "Polygon" } }, "relationalDescription": { "text": "Near Starbird Chicken", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 87.348007202148438, "travelDistanceMeters": 214.08084106445312 } ], "entrances": [ { "displayName": { "text": "South Bernardo Avenue", "languageCode": "en" }, "location": { "latitude": 37.3735328, "longitude": -122.05694879999999 }, "tags": [ "PREFERRED" ], "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w" } ], "navigationPoints": [ { "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4", "location": { "latitude": 37.3738659, "longitude": -122.05693620000001 }, "travelModes": [ "DRIVE", "WALK" ], "usages": [ "PARKING" ] } ] } ] }
Parameter yang diperlukan
- Salah satu dari 3 parameter berikut harus ada dalam permintaan API, yang
menentukan alamat, tempat, atau lokasi untuk menelusuri tujuan:
addressQuery- alamat yang akan ditelusuri.place- ID tempat yang akan ditelusuri.locationQuery- koordinat lintang dan bujur lokasi yang akan ditelusuri.
FieldMask
Tentukan daftar kolom yang akan ditampilkan dalam respons dengan membuat mask kolom respons. Teruskan mask kolom respons ke metode menggunakan parameter URL
$fieldsataufields, atau menggunakan header HTTPX-Goog-FieldMask. Misalnya, permintaan di bawah hanya akan menampilkan pintu masuk, titik navigasi, dan ID tempat tujuan utama.curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \ -H "X-Goog-Api-Key: API_KEY" \ -H "Content-Type: application/json" \ -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \ https://geocode.googleapis.com/v4/geocode/destinationsTidak ada daftar default kolom yang ditampilkan dalam respons. Jika Anda menghapus masker kolom, metode akan menampilkan error. Tetapkan mask kolom ke
*untuk menampilkan semua kolom. Lihat Memilih kolom yang akan ditampilkan untuk mengetahui detail selengkapnya.
Parameter opsional
-
travelModes
Menentukan jenis
navigationPointsyang akan ditampilkan. Titik navigasi untuk mode perjalanan lainnya akan difilter. JikatravelModestidak ditetapkan, titik navigasi semua mode perjalanan dapat ditampilkan. languageCode
Bahasa yang digunakan untuk menampilkan hasil.
- Lihat daftar bahasa yang didukung. Google sering memperbarui bahasa yang didukung, sehingga daftar ini mungkin tidak lengkap.
-
Jika
languageCodetidak diberikan, API akan ditetapkan secara default ke bahasa dan skrip lokal lokasi. Jika Anda menentukan kode bahasa yang tidak valid, API akan menampilkan errorINVALID_ARGUMENT. - API ini berupaya sebaik mungkin untuk memberikan alamat yang dapat dibaca oleh pengguna dan penduduk setempat. Untuk mencapai tujuan tersebut, API ini menampilkan alamat jalan dalam bahasa lokal, yang ditransliterasikan ke skrip yang dapat dibaca oleh pengguna jika perlu, dengan memperhatikan bahasa pilihan. Semua alamat lainnya ditampilkan dalam bahasa pilihan. Komponen alamat semuanya ditampilkan dalam bahasa yang sama, yang dipilih dari komponen pertama.
- Jika nama tidak tersedia dalam bahasa pilihan, API akan menggunakan kecocokan terdekat.
- Bahasa pilihan memiliki pengaruh kecil pada kumpulan hasil yang dipilih API untuk ditampilkan, dan urutan kemunculannya. Geocoder menafsirkan singkatan secara berbeda bergantung pada bahasa, seperti singkatan untuk jenis jalan, atau sinonim yang mungkin valid dalam satu bahasa, tetapi tidak dalam bahasa lain.
regionCode
Kode wilayah sebagai nilai kode CLDR dua karakter. Tidak ada nilai default. Sebagian besar kode CLDR identik dengan kode ISO 3166-1.
Saat melakukan geocoding alamat, geocoding maju, parameter ini dapat memengaruhi, tetapi tidak sepenuhnya membatasi, hasil dari layanan ke wilayah yang ditentukan. Saat melakukan geocoding pada lokasi atau tempat, geocoding terbalik atau geocoding tempat, parameter ini dapat digunakan untuk memformat alamat. Dalam semua kasus, parameter ini dapat memengaruhi hasil berdasarkan hukum yang berlaku.
-
placeFilter
Memungkinkan Anda memfilter hasil penelusuran
locationQueryuntuk memenuhi persyaratan, seperti hanya menampilkan tujuan yang berupa bangunan atau hanya tujuan yang memiliki alamat yang jelas.Memfilter menurut perincian struktural
Filter
structureTypememungkinkan Anda menentukan jenis struktur yang ditampilkan oleh kueri:- Mengisolasi Bangunan: Gunakan
"structureType": "BUILDING"untuk menampilkan garis batas bangunan di peta atau mendapatkan detail untuk struktur tertentu. - Memahami Kompleks: Gunakan
"structureType": "GROUNDS"untuk memastikan hasil utama adalah keseluruhan area. Hal ini berguna saat membuat kueri untuk area yang lebih besar seperti kampus universitas atau pusat perbelanjaan. - Fokus pada Unit/Bagian: Gunakan
"structureType": "SECTION"untuk mengidentifikasi bagian dalam bangunan.
Memastikan alamat yang berguna
Tidak semua tempat memiliki alamat tingkat jalan yang jelas. Filter
addressabilitymembantu Anda mengontrol kualitas alamat dalam hasil:- Memerlukan Alamat Utama yang Jelas: Untuk memastikan hasil tujuan utama
selalu memiliki alamat atau nama tingkat jalan, gunakan
"addressability": "PRIMARY". Hal ini berguna untuk tujuan navigasi atau tampilan yang memerlukan alamat yang jelas. - Allow Addresses in Sub-Destinations: Jika tempat utama
mungkin tidak memiliki alamat, tetapi unit di dalamnya memiliki alamat (seperti apartemen di
gedung),
"addressability": "WEAK"memastikan bahwa setidaknya tempat utama atau salah satu sub-tujuannya memiliki alamat. - Hasil Apa Pun: Jika keberadaan alamat tidak relevan dengan kasus penggunaan Anda, gunakan
"addressability": "ANY". Hal ini sangat direkomendasikan jika Anda hanya memerlukan atribut geometris seperti garis batas bangunan dan titik navigasi, karena akan meningkatkan akurasi hasil ini.
Contoh: Memfilter Bangunan yang Dapat Ditemukan
curl -X POST -d '{ "locationQuery": { "location": { "latitude": 37.37348780, "longitude": -122.05678064 }, "placeFilter": { "structureType": "BUILDING", "addressability": "PRIMARY" } }, "languageCode": "en" }' \\ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\ -H "X-Goog-FieldMask: place" \\ https://geocode.googleapis.com/v4/geocode/destinations - Mengisolasi Bangunan: Gunakan