Pengantar
Autocomplete (Baru) adalah layanan web yang menampilkan prediksi tempat dan prediksi kueri sebagai respons terhadap permintaan HTTP. Dalam permintaan, tentukan string penelusuran teks dan batas geografis yang mengontrol area penelusuran.
Autocomplete (Baru) dapat mencocokkan kata dan substring lengkap dari input, yang me-resolve nama tempat, alamat, dan Plus Codes. Oleh karena itu, aplikasi dapat mengirimkan kueri saat pengguna mengetik, untuk memberikan prediksi tempat dan kueri secara real time.
Respons dari Autocomplete (Baru) dapat berisi dua jenis prediksi:
- Prediksi tempat: Tempat, seperti bisnis, alamat, dan lokasi menarik, berdasarkan string teks input dan area penelusuran yang ditentukan. Prediksi tempat ditampilkan secara default.
- Prediksi kueri: String kueri yang cocok dengan string teks input dan
area penelusuran. Prediksi kueri tidak ditampilkan secara default. Gunakan
parameter permintaan
includeQueryPredictions
untuk menambahkan prediksi kueri ke respons.
Misalnya, Anda memanggil Autocomplete (Baru) menggunakan sebagai input string yang berisi input pengguna parsial, "Sicilian piz", dengan area penelusuran terbatas pada San Francisco, CA. Respons kemudian berisi daftar prediksi tempat yang cocok dengan string penelusuran dan area penelusuran, seperti restoran bernama "Sicilian Pizza Kitchen", beserta detail tentang tempat tersebut.
Prediksi tempat yang ditampilkan dirancang untuk ditampilkan kepada pengguna guna membantu mereka memilih tempat yang diinginkan. Anda dapat membuat permintaan Place Details (Baru) untuk mendapatkan informasi selengkapnya tentang prediksi tempat yang ditampilkan.
Respons juga dapat berisi daftar prediksi kueri yang cocok dengan
string penelusuran dan area penelusuran, seperti "Pizza & Pasta Sisilia". Setiap prediksi kueri dalam
respons mencakup kolom text
yang berisi string penelusuran teks yang direkomendasikan. Gunakan string tersebut sebagai input ke
Text Search (Baru)
untuk melakukan penelusuran yang lebih mendetail.
APIs Explorer memungkinkan Anda membuat permintaan langsung sehingga Anda dapat memahami API dan opsi API:
Permintaan Pelengkapan Otomatis (Baru)
Permintaan Pelengkapan Otomatis (Baru) adalah permintaan POST HTTP ke URL dalam bentuk:
https://places.googleapis.com/v1/places:autocomplete
Teruskan semua parameter di isi permintaan JSON atau di header sebagai bagian dari permintaan POST. Contoh:
curl -X POST -d '{ "input": "pizza", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Parameter yang didukung
Parameter |
Deskripsi |
---|---|
String teks yang akan ditelusuri (kata lengkap, substring, nama tempat, alamat, kode plus). |
|
|
Daftar yang dipisahkan koma yang menentukan kolom mana yang akan ditampilkan dalam respons. |
Membatasi hasil ke tempat yang cocok dengan salah satu dari hingga lima jenis utama yang ditentukan. |
|
Jika benar, menyertakan bisnis tanpa lokasi fisik (bisnis jasa sistem panggilan). Nilai defaultnya adalah false (salah). |
|
Jika benar, menyertakan prediksi tempat dan kueri dalam respons. Nilai defaultnya adalah false (salah). |
|
Array hingga 15 kode negara dua karakter untuk membatasi hasil. |
|
Offset karakter Unicode berbasis nol dari posisi kursor dalam string input, yang memengaruhi prediksi. Nilai defaultnya adalah panjang input. |
|
Bahasa pilihan (kode IETF BCP-47) untuk hasil. Defaultnya adalah header Accept-Language atau 'en'. |
|
Menentukan area (lingkaran atau persegi panjang) untuk membiaskan hasil penelusuran, sehingga hasil di luar area tersebut dapat ditampilkan. Tidak dapat digunakan dengan locationRestriction. |
|
Menentukan area (lingkaran atau persegi panjang) untuk membatasi hasil penelusuran di dalamnya. Hasil di luar area ini akan dikecualikan. Tidak dapat digunakan dengan locationBias. |
|
Titik asal (lat, long) yang digunakan untuk menghitung jarak garis lurus (distanceMeters) ke tujuan yang diprediksi. |
|
Kode wilayah yang digunakan untuk memformat respons dan memberikan saran yang relevan (misalnya, 'uk', 'fr'). |
|
String buatan pengguna untuk mengelompokkan panggilan Pelengkapan Otomatis ke dalam sesi untuk tujuan penagihan. |
Tentang respons
Autocomplete (Baru) menampilkan objek JSON sebagai respons. Dalam respons:
- Array
suggestions
berisi semua tempat dan kueri yang diprediksi secara berurutan berdasarkan relevansinya yang dirasakan. Setiap tempat diwakili oleh kolomplacePrediction
dan setiap kueri diwakili oleh kolomqueryPrediction
. - Kolom
placePrediction
berisi informasi mendetail tentang satu prediksi tempat, termasuk ID tempat dan deskripsi teks. - Kolom
queryPrediction
berisi informasi mendetail tentang satu prediksi kueri.
Objek JSON lengkapnya berbentuk:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 }] }, ... }, { "queryPrediction": { "text": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 }] }, ... } ...] }
Parameter wajib
-
input
String teks yang akan ditelusuri. Tentukan kata dan substring lengkap, nama tempat, alamat, dan Plus Codes. Layanan Pelengkapan Otomatis (Baru) menampilkan bakal hasil berdasarkan string ini dan mengurutkan hasil berdasarkan relevansi yang terlihat.
Parameter opsional
-
FieldMask
Tentukan daftar kolom yang akan ditampilkan dalam respons dengan membuat mask kolom respons. Teruskan mask kolom respons ke metode menggunakan header HTTP
X-Goog-FieldMask
.Tentukan daftar kolom saran yang dipisahkan koma yang akan ditampilkan. Misalnya, untuk mengambil
suggestions.placePrediction.text.text
dansuggestions.queryPrediction.text.text
saran.X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text
Gunakan
*
untuk mengambil semua kolom.X-Goog-FieldMask: *
-
includedPrimaryTypes
Tempat hanya dapat memiliki satu jenis utama dari jenis yang tercantum dalam Tabel A atau Tabel B. Misalnya, jenis utama mungkin
"mexican_restaurant"
atau"steak_house"
.Secara default, API menampilkan semua tempat berdasarkan parameter
input
, terlepas dari nilai jenis utama yang terkait dengan tempat tersebut. Batasi hasil agar memiliki jenis utama atau jenis utama tertentu dengan meneruskan parameterincludedPrimaryTypes
.Gunakan parameter ini untuk menentukan hingga lima nilai jenis dari Tabel A atau Tabel B. Tempat harus cocok dengan salah satu nilai jenis utama yang ditentukan agar disertakan dalam respons.
Parameter ini juga dapat menyertakan, sebagai gantinya, salah satu dari
(regions)
atau(cities)
. Kumpulan jenis(regions)
memfilter area atau divisi, seperti kawasan dan kode pos. Kumpulan jenis(cities)
memfilter tempat yang diidentifikasi Google sebagai kota.Permintaan ditolak dengan error
INVALID_REQUEST
jika:- Lebih dari lima jenis ditentukan.
- Jenis apa pun ditentukan selain
(cities)
atau(regions)
. - Jenis yang tidak dikenal akan ditentukan.
-
includePureServiceAreaBusinesses
Jika disetel ke
true
, respons mencakup bisnis yang melakukan kunjungan atau pengiriman langsung ke pelanggan, tetapi tidak memiliki lokasi bisnis fisik. Jika disetel kefalse
, API hanya menampilkan bisnis dengan lokasi bisnis fisik. -
includeQueryPredictions
Jika
true
, respons akan menyertakan prediksi tempat dan kueri. Nilai defaultnya adalahfalse
, yang berarti respons hanya menyertakan prediksi tempat. -
includedRegionCodes
Hanya menyertakan hasil dari daftar wilayah yang ditentukan, yang ditetapkan sebagai array hingga 15 nilai dua karakter ccTLD ("domain level teratas"). Jika tidak disertakan, tidak ada batasan yang diterapkan pada respons. Misalnya, untuk membatasi wilayah ke Jerman dan Prancis:
"includedRegionCodes": ["de", "fr"]
Jika Anda menentukan
locationRestriction
danincludedRegionCodes
, hasilnya terletak di area persimpangan kedua setelan. -
inputOffset
Offset karakter Unicode berbasis nol yang menunjukkan posisi kursor dalam
input
. Posisi kursor dapat memengaruhi prediksi yang ditampilkan. Jika kosong, nilai defaultnya adalah panjanginput
. -
languageCode
Bahasa pilihan untuk menampilkan hasil. Hasil mungkin dalam bahasa campuran jika bahasa yang digunakan dalam
input
berbeda dengan nilai yang ditentukan olehlanguageCode
, atau jika tempat yang ditampilkan tidak memiliki terjemahan dari bahasa lokal kelanguageCode
.- Anda harus menggunakan kode bahasa IETF BCP-47 untuk menentukan bahasa pilihan.
-
Jika
languageCode
tidak diberikan, API akan menggunakan nilai yang ditentukan di headerAccept-Language
. Jika tidak ada yang ditentukan, defaultnya adalahen
. Jika Anda menentukan kode bahasa yang tidak valid, API akan menampilkan errorINVALID_ARGUMENT
. - Bahasa pilihan memiliki sedikit pengaruh pada kumpulan hasil yang dipilih API untuk ditampilkan, dan urutan penampilannya. Hal ini juga memengaruhi kemampuan API untuk mengoreksi kesalahan ejaan.
-
API mencoba memberikan alamat jalan yang dapat dibaca oleh pengguna dan penduduk setempat, sekaligus mencerminkan input pengguna. Prediksi tempat diformat secara berbeda bergantung pada input pengguna dalam setiap permintaan.
-
Istilah yang cocok dalam parameter
input
dipilih terlebih dahulu, menggunakan nama yang selaras dengan preferensi bahasa yang ditunjukkan oleh parameterlanguageCode
jika tersedia, sementara jika tidak, menggunakan nama yang paling cocok dengan input pengguna. -
Alamat jalan diformat dalam bahasa lokal, dalam skrip yang dapat dibaca oleh pengguna
jika memungkinkan, hanya setelah istilah yang cocok dipilih agar sesuai dengan istilah dalam
parameter
input
. -
Semua alamat lainnya ditampilkan dalam bahasa pilihan, setelah istilah yang cocok dipilih untuk mencocokkan istilah dalam parameter
input
. Jika nama tidak tersedia dalam bahasa pilihan, API akan menggunakan kecocokan terdekat.
-
Istilah yang cocok dalam parameter
locationBias atau locationRestriction
Anda dapat menentukan
locationBias
ataulocationRestriction
, tetapi tidak keduanya, untuk menentukan area penelusuran. AnggaplocationRestriction
sebagai penentuan region tempat hasil harus berada, danlocationBias
sebagai penentuan region tempat hasil harus berada di dekatnya, tetapi dapat berada di luar area.locationBias
Menentukan area yang akan ditelusuri. Lokasi ini berfungsi sebagai bias yang berarti hasil di sekitar lokasi yang ditentukan dapat ditampilkan, termasuk hasil di luar area yang ditentukan.
locationRestriction
Menentukan area yang akan ditelusuri. Hasil di luar area yang ditentukan tidak ditampilkan.
Tentukan region
locationBias
ataulocationRestriction
sebagai Area Pandang persegi panjang atau sebagai lingkaran.Lingkaran ditentukan oleh titik tengah dan radius dalam meter. Radius harus antara 0,0 dan 50000,0, inklusif. Nilai defaultnya adalah 0,0. Untuk
locationRestriction
, Anda harus menetapkan radius ke nilai yang lebih besar dari 0,0. Jika tidak, permintaan tidak akan menampilkan hasil.Contoh:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Persegi panjang adalah area tampilan lintang-bujur, yang direpresentasikan sebagai dua titik tinggi dan
low
yang berlawanan secara diagonal. Area pandang dianggap sebagai wilayah tertutup, yang berarti mencakup batasnya. Batas lintang harus berada dalam rentang -90 hingga 90 derajat inklusif, dan batas bujur harus berada dalam rentang -180 hingga 180 derajat inklusif:- Jika
low
=high
, area tampilan terdiri dari satu titik tersebut. - Jika
low.longitude
>high.longitude
, rentang bujur akan dibalik (area tampilan melintasi garis bujur 180 derajat). - Jika
low.longitude
= -180 derajat danhigh.longitude
= 180 derajat, area pandang akan mencakup semua bujur. - Jika
low.longitude
= 180 derajat danhigh.longitude
= -180 derajat, rentang bujur kosong.
low
danhigh
harus diisi, dan kotak yang ditampilkan tidak boleh kosong. Viewport kosong akan menyebabkan error.Misalnya, area tampilan ini sepenuhnya mencakup New York City:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Jika
-
asal
Titik asal untuk menghitung jarak garis lurus ke tujuan (ditampilkan sebagai
distanceMeters
). Jika nilai ini tidak dicantumkan, jarak garis lurus tidak akan ditampilkan. Harus ditentukan sebagai koordinat lintang dan bujur:"origin": { "latitude": 40.477398, "longitude": -74.259087 }
-
regionCode
Kode wilayah yang digunakan untuk memformat respons, yang ditentukan sebagai nilai dua karakter ccTLD ("domain level teratas"). Sebagian besar kode ccTLD identik dengan kode ISO 3166-1, dengan beberapa pengecualian. Misalnya, ccTLD Inggris Raya adalah "uk" (.co.uk), sedangkan kode ISO 3166-1-nya adalah "gb" (secara teknis untuk entitas "The United Kingdom of Great Britain and Northern Ireland").
Saran juga bias berdasarkan kode wilayah. Google merekomendasikan untuk menetapkan
regionCode
sesuai dengan preferensi regional pengguna.Jika Anda menentukan kode wilayah yang tidak valid, API akan menampilkan error
INVALID_ARGUMENT
. Parameter dapat memengaruhi hasil berdasarkan hukum yang berlaku. -
sessionToken
Token sesi adalah string yang dibuat pengguna yang melacak panggilan Autocomplete (Baru) sebagai "sesi". Pelengkapan Otomatis (Baru) menggunakan token sesi untuk mengelompokkan fase kueri dan pemilihan dari penelusuran pelengkapan otomatis pengguna ke dalam sesi terpisah untuk tujuan penagihan. Untuk mengetahui informasi selengkapnya, lihat Token sesi.
Memilih parameter untuk memengaruhi hasil
Parameter pelengkapan otomatis (Baru) dapat memengaruhi hasil penelusuran secara berbeda. Tabel berikut memberikan rekomendasi penggunaan parameter berdasarkan hasil yang diinginkan.Parameter | Rekomendasi penggunaan |
---|---|
regionCode |
Ditetapkan sesuai dengan preferensi regional pengguna. |
includedRegionCodes |
Disetel untuk membatasi hasil ke daftar region yang ditentukan. |
locationBias |
Gunakan jika hasil lebih disukai di dalam atau di sekitar wilayah. Jika berlaku, tentukan wilayah sebagai area tampilan peta yang dilihat pengguna. |
locationRestriction |
Gunakan only jika hasil di luar wilayah tidak boleh ditampilkan. |
origin |
Gunakan saat jarak garis lurus ke setiap
prediksi dimaksudkan. |
Contoh Pelengkapan Otomatis (Baru)
Membatasi penelusuran ke suatu area menggunakan locationRestriction
locationRestriction
menentukan area yang akan ditelusuri. Hasil di luar area yang ditentukan tidak ditampilkan. Dalam contoh berikut, Anda menggunakan locationRestriction
untuk membatasi
permintaan ke lingkaran dengan radius 5.000 meter yang berpusat di San Francisco:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Semua hasil dari dalam area yang ditentukan terdapat dalam array suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "establishment", "museum", "point_of_interest" ] } }, { "placePrediction": { "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w", "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w", "text": { "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA", "matches": [ { "endOffset": 15 } ] }, "structuredFormat": { "mainText": { "text": "de Young Museum", "matches": [ { "endOffset": 15 } ] }, "secondaryText": { "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "tourist_attraction", "museum" ] } }, /.../ ] }
Anda juga dapat menggunakan locationRestriction
untuk membatasi penelusuran ke Viewport persegi panjang. Contoh berikut membatasi permintaan ke pusat kota San Francisco:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Hasilnya ada dalam array suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "museum", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc", "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc", "text": { "text": "International Art Museum of America, Market Street, San Francisco, CA, USA", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "structuredFormat": { "mainText": { "text": "International Art Museum of America", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "secondaryText": { "text": "Market Street, San Francisco, CA, USA" } }, "types": [ "museum", "point_of_interest", "tourist_attraction", "art_gallery", "establishment" ] } } ] }
Membiaskan penelusuran ke suatu area menggunakan locationBias
Dengan locationBias
, lokasi berfungsi sebagai bias yang berarti hasil di sekitar lokasi yang ditentukan dapat ditampilkan, termasuk hasil di luar area yang ditentukan. Dalam contoh berikut, Anda memprabias permintaan ke pusat kota San Francisco:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Hasilnya kini berisi lebih banyak item, termasuk hasil di luar radius 5.000 meter:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "store", "establishment", "home_goods_store" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "establishment", "home_goods_store", "store" ] } }, ... ] }
Anda juga dapat menggunakan locationBias
untuk membatasi penelusuran ke Viewport persegi panjang. Contoh berikut membatasi permintaan ke pusat kota San Francisco:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Meskipun hasil penelusuran dalam area pandang persegi panjang muncul dalam respons, beberapa hasil berada di luar batas yang ditentukan, karena adanya bias. Hasil juga terdapat dalam array
suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI", "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI", "text": { "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Hollywood Boulevard, Los Angeles, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, /.../ ] }
Menggunakan includedPrimaryTypes
Gunakan parameter includedPrimaryTypes
untuk menentukan hingga lima nilai jenis dari
Tabel A,
Tabel B,
atau hanya (regions)
, atau hanya (cities)
. Tempat harus cocok dengan salah satu nilai jenis utama yang ditentukan agar disertakan dalam respons.
Dalam contoh berikut, Anda menentukan string input
"Soccer" dan menggunakan parameter includedPrimaryTypes
untuk membatasi hasil ke tempat jenis "sporting_goods_store"
:
curl -X POST -d '{ "input": "Soccer", "includedPrimaryTypes": ["sporting_goods_store"], "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Jika Anda menghapus parameter includedPrimaryTypes
, hasil dapat mencakup tempat dengan jenis yang tidak Anda inginkan, seperti "athletic_field"
.
Meminta prediksi kueri
Prediksi kueri tidak ditampilkan secara default. Gunakan parameter permintaan includeQueryPredictions
untuk menambahkan prediksi kueri ke respons. Contoh:
curl -X POST -d '{ "input": "Amoeba", "includeQueryPredictions": true, "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Array suggestions
kini berisi prediksi tempat dan prediksi kueri
seperti yang ditunjukkan di atas dalam Tentang respons. Setiap prediksi kueri
mencakup kolom text
yang berisi string penelusuran teks yang direkomendasikan. Anda dapat membuat permintaan
Text Search (Baru)
untuk mendapatkan informasi selengkapnya tentang prediksi kueri yang ditampilkan.
Gunakan asal
Dalam contoh ini, sertakan origin
dalam permintaan sebagai koordinat
lintang dan bujur. Saat Anda menyertakan origin
, Autocomplete (Baru) menyertakan kolom
distanceMeters
dalam respons yang berisi jarak garis lurus dari
origin
ke tujuan. Contoh ini menetapkan asal ke pusat San
Francisco:
curl -X POST -d '{ "input": "Amoeba", "origin": { "latitude": 37.7749, "longitude": -122.4194 }, "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Respons sekarang menyertakan distanceMeters
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "home_goods_store", "establishment", "point_of_interest", "store", "electronics_store" ], "distanceMeters": 3012 } } ] }
Jarak tidak ada dalam respons
Dalam kasus tertentu, distanceMeters
tidak ada dalam isi respons, meskipun origin
disertakan dalam permintaan. Hal ini dapat terjadi dalam skenario
berikut:
distanceMeters
tidak disertakan untuk prediksiroute
.distanceMeters
tidak disertakan jika nilainya adalah0
, yang merupakan kasus untuk prediksi yang berjarak kurang dari 1 meter dari lokasiorigin
yang diberikan.
Library klien yang mencoba membaca kolom distanceMeters
dari objek yang diuraikan akan menampilkan kolom dengan nilai 0
.
Untuk menghindari pengguna yang tertipu, jangan menampilkan jarak nol kepada pengguna.
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.