Pelengkapan Otomatis Kueri (Lama) dapat digunakan untuk memberikan prediksi kueri untuk penelusuran geografis berbasis teks, dengan menampilkan kueri yang disarankan saat Anda mengetik.
Permintaan Query Autocomplete (Legacy)
Query Autocomplete (Lama) adalah bagian dari Places API (Lama) dan berbagi kunci API dan kuota dengan Places API (Lama).
Pelengkapan Otomatis Kueri (Lama) memungkinkan Anda menambahkan prediksi kueri geografis secara langsung ke aplikasi Anda. Daripada menelusuri lokasi tertentu, pengguna dapat mengetik penelusuran berdasarkan kategori, seperti "pizza dekat Bandung" dan layanan akan merespons dengan menampilkan daftar kueri yang disarankan yang cocok dengan string. Karena Pelengkapan Otomatis Kueri (Lama) dapat mencocokkan kata lengkap dan substring, aplikasi dapat mengirimkan kueri saat pengguna mengetik untuk memberikan prediksi secara real time.
Permintaan Pelengkapan Otomatis Kueri (Lama) adalah URL HTTP dengan bentuk berikut:
https://maps.googleapis.com/maps/api/place/queryautocomplete/output?parameters
dengan output dapat berupa json atau
xml.
Parameter tertentu diperlukan untuk memulai permintaan Pelengkapan Otomatis Kueri (Lama).
Sesuai dengan standar dalam URL, semua parameter dipisahkan menggunakan karakter ampersand
(&). Daftar parameter dan kemungkinan
nilainya tercantum di bawah.
Parameter yang diperlukan
-
input
String teks yang akan ditelusuri. Layanan Place Autocomplete akan menampilkan bakal hasil berdasarkan string ini dan mengurutkan hasil berdasarkan relevansi yang terlihat.
Parameter opsional
-
language
Bahasa yang digunakan untuk menampilkan hasil.
- Lihat daftar bahasa yang didukung. Google sering memperbarui bahasa yang didukung, sehingga daftar ini mungkin tidak lengkap.
-
Jika
languagetidak diberikan, API akan mencoba menggunakan bahasa pilihan seperti yang ditentukan dalam headerAccept-Language. - API ini berupaya sebaik mungkin untuk memberikan alamat jalan yang dapat dibaca oleh pengguna dan penduduk setempat. Untuk mencapai tujuan tersebut, API ini menampilkan alamat jalan dalam bahasa lokal, yang ditransliterasi 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 sedikit pengaruh pada kumpulan hasil yang dipilih API untuk ditampilkan, dan urutan penampilannya. 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. Misalnya, utca dan tér adalah sinonim untuk jalan dalam bahasa Hungaria.
-
lokasi
Menentukan titik, sebagai koordinat
latitude,longitude, di sekitar lokasi yang akan ditelusuri. Layanan Places menggunakan lokasi untuk membiaskan penelusuran agar lebih memilih menampilkan hasil di area yang ditentukan olehlocationdanradius; hasil di luar area yang ditentukan mungkin tetap ditampilkan.Parameterlocationdapat diganti jikaqueryberisi lokasi eksplisit sepertiMarket in Barcelona. Menggunakan tanda petik di sekitar kueri juga dapat memengaruhi bobot yang diberikan padalocationdanradius. -
offset
Posisi, dalam istilah input, dari karakter terakhir yang digunakan layanan untuk mencocokkan prediksi. Misalnya, jika inputnya adalah
Googledan offsetnya adalah 3, layanan akan mencocokkanGoo. String yang ditentukan oleh offset dicocokkan dengan hanya kata pertama dalam istilah input. Misalnya, jika istilah inputnya adalahGoogle abcdan offsetnya adalah 3, layanan akan mencoba mencocokkan denganGoo abc. Jika tidak ada offset yang diberikan, layanan akan menggunakan seluruh jangka waktu. Offset umumnya harus ditetapkan ke posisi kursor teks. -
radius
Menentukan jarak (dalam meter) untuk menampilkan hasil tempat. Anda dapat membiaskan hasil ke lingkaran yang ditentukan dengan meneruskan parameter
locationdanradius. Dengan melakukannya, layanan Places akan diinstruksikan untuk lebih memilih menampilkan hasil dalam lingkaran tersebut; hasil di luar area yang ditentukan mungkin tetap ditampilkan.Radius akan otomatis dibatasi ke nilai maksimum, bergantung pada jenis penelusuran dan parameter lainnya.
- Pelengkapan otomatis: 50.000 meter
-
Nearby Search:
- dengan
keywordatauname: 50.000 meter -
tanpa
keywordatauname-
Hingga 50.000 meter, disesuaikan secara dinamis berdasarkan kepadatan area,
terlepas dari parameter
rankby. -
Saat menggunakan
rankby=distance, parameter radius tidak akan diterima, dan akan menghasilkanINVALID_REQUEST.
-
Hingga 50.000 meter, disesuaikan secara dinamis berdasarkan kepadatan area,
terlepas dari parameter
- dengan
- Query Autocomplete: 50.000 meter
- Penelusuran Teks: 50.000 meter
Contoh Query Autocomplete (Lama)
URL
https://maps.googleapis.com/maps/api/place/queryautocomplete/json ?input=pizza%20near%20par &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'Permintaan "Pizza dekat Par", dengan hasil dalam bahasa Prancis:
URL
https://maps.googleapis.com/maps/api/place/queryautocomplete/json ?input=pizza%20near%20par &language=fr &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&language=fr&key=YOUR_API_KEY'Perhatikan bahwa Anda harus mengganti kunci API dalam contoh ini dengan kunci Anda sendiri.
Respons Query Autocomplete (Legacy)
Respons Pelengkapan Otomatis Kueri (Lama) ditampilkan dalam format yang ditunjukkan oleh tanda
output dalam jalur permintaan URL. Hasil di bawah ini ditampilkan untuk kueri dengan parameter berikut:
URL
https://maps.googleapis.com/maps/api/place/queryautocomplete/json ?input=pizza%20near%20par &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'JSON
{ "predictions": [ { "description": "pizza near Paris, France", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Paris, France", "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Paris" }, { "offset": 18, "value": "France" }, ], }, { "description": "pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India", "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Pari Chowk" }, { "offset": 23, "value": "NRI City" }, { "offset": 33, "value": "Omega II" }, { "offset": 43, "value": "Noida" }, { "offset": 50, "value": "Uttar Pradesh" }, { "offset": 65, "value": "India" }, ], }, { "description": "pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 22 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Disneyland Park, Disneyland Drive, Anaheim, CA, USA", "secondary_text_matched_substrings": [{ "length": 3, "offset": 16 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Disneyland Park" }, { "offset": 28, "value": "Disneyland Drive" }, { "offset": 46, "value": "Anaheim" }, { "offset": 55, "value": "CA" }, { "offset": 59, "value": "USA" }, ], }, { "description": "pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 36 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France", "secondary_text_matched_substrings": [{ "length": 3, "offset": 30 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Cathédrale Notre-Dame de Paris" }, { "offset": 43, "value": "Parvis Notre-Dame - place Jean-Paul-II" }, { "offset": 83, "value": "Paris" }, { "offset": 90, "value": "France" }, ], }, { "description": "pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France", "matched_substrings": [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }], "structured_formatting": { "main_text": "pizza", "main_text_matched_substrings": [{ "length": 5, "offset": 0 }], "secondary_text": "near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France", "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }], }, "terms": [ { "offset": 0, "value": "pizza" }, { "offset": 6, "value": "near" }, { "offset": 11, "value": "Paris Beauvais Airport" }, { "offset": 35, "value": "Route de l'Aéroport" }, { "offset": 56, "value": "Tillé" }, { "offset": 63, "value": "France" }, ], }, ], "status": "OK", }
XML
<AutocompletionResponse> <status>OK</status> <prediction> <description>pizza near Paris, France</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Paris</value> <offset>11</offset> </term> <term> <value>France</value> <offset>18</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>11</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Paris, France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>5</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Pari Chowk</value> <offset>11</offset> </term> <term> <value>NRI City</value> <offset>23</offset> </term> <term> <value>Omega II</value> <offset>33</offset> </term> <term> <value>Noida</value> <offset>43</offset> </term> <term> <value>Uttar Pradesh</value> <offset>50</offset> </term> <term> <value>India</value> <offset>65</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>11</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>5</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Disneyland Park</value> <offset>11</offset> </term> <term> <value>Disneyland Drive</value> <offset>28</offset> </term> <term> <value>Anaheim</value> <offset>46</offset> </term> <term> <value>CA</value> <offset>55</offset> </term> <term> <value>USA</value> <offset>59</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>22</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>16</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Cathédrale Notre-Dame de Paris</value> <offset>11</offset> </term> <term> <value>Parvis Notre-Dame - place Jean-Paul-II</value> <offset>43</offset> </term> <term> <value>Paris</value> <offset>83</offset> </term> <term> <value>France</value> <offset>90</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>36</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>30</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> <prediction> <description>pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</description> <term> <value>pizza</value> <offset>0</offset> </term> <term> <value>near</value> <offset>6</offset> </term> <term> <value>Paris Beauvais Airport</value> <offset>11</offset> </term> <term> <value>Route de l'Aéroport</value> <offset>35</offset> </term> <term> <value>Tillé</value> <offset>56</offset> </term> <term> <value>France</value> <offset>63</offset> </term> <matched_substring> <offset>0</offset> <length>5</length> </matched_substring> <matched_substring> <offset>11</offset> <length>3</length> </matched_substring> <structured_formatting> <description>pizza</description> <subdescription>near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</subdescription> <description_matched_substring> <offset>0</offset> <length>5</length> </description_matched_substring> <subdescription_matched_substring> <offset>5</offset> <length>3</length> </subdescription_matched_substring> </structured_formatting> </prediction> </AutocompletionResponse>
Saat layanan Places menampilkan hasil JSON dari penelusuran, layanan ini akan menempatkannya dalam array predictions. Meskipun layanan tidak menampilkan hasil (misalnya, jika location berada di lokasi terpencil), layanan tetap menampilkan array predictions kosong. Respons XML terdiri dari nol elemen <prediction> atau lebih.
PlacesQueryAutocompleteResponse
| Kolom | Wajib | Jenis | Deskripsi |
|---|---|---|---|
|
wajib ada | Array<PlaceAutocompletePrediction> |
Berisi array prediksi. Lihat PlaceAutocompletePrediction untuk mengetahui informasi selengkapnya. |
|
wajib ada | PlacesAutocompleteStatus |
Berisi status permintaan, dan mungkin berisi informasi proses debug untuk membantu Anda melacak penyebab kegagalan permintaan. Lihat PlacesAutocompleteStatus untuk mengetahui informasi selengkapnya. |
|
opsional | string |
Jika layanan menampilkan kode status selain |
|
opsional | Array<string> |
Jika layanan menampilkan informasi tambahan tentang spesifikasi permintaan, mungkin ada kolom |
PlacesAutocompleteStatus
Kode status yang ditampilkan oleh layanan.
OKyang menunjukkan bahwa permintaan API berhasil.-
ZERO_RESULTSyang menunjukkan bahwa penelusuran berhasil, tetapi tidak menampilkan hasil. Hal ini dapat terjadi jika penelusuran meneruskan batas di lokasi terpencil. -
INVALID_REQUESTyang menunjukkan bahwa permintaan API memiliki format yang salah, biasanya karena parameterinputtidak ada. -
OVER_QUERY_LIMITyang menunjukkan salah satu dari berikut ini:- Anda telah melampaui batas QPS.
- Penagihan belum diaktifkan di akun Anda.
- Kredit bulanan sebesar $200, atau batas penggunaan yang ditentukan sendiri, telah terlampaui.
- Metode pembayaran yang diberikan sudah tidak valid (misalnya, kartu kredit yang sudah tidak berlaku).
-
REQUEST_DENIEDyang menunjukkan bahwa permintaan Anda ditolak, biasanya karena:- Permintaan tidak berisi kunci API.
- Parameter
keytidak valid.
UNKNOWN_ERRORmenunjukkan error yang tidak diketahui.
Saat layanan Places menampilkan hasil JSON dari penelusuran, layanan ini akan menempatkannya dalam array predictions. Meskipun layanan tidak menampilkan hasil (seperti jika location berada di lokasi terpencil), layanan tetap menampilkan array predictions kosong. Respons XML terdiri dari nol elemen <prediction> atau lebih.
PlaceAutocompletePrediction
| Kolom | Wajib | Jenis | Deskripsi |
|---|---|---|---|
|
wajib ada | string |
Berisi nama yang dapat dibaca manusia untuk hasil yang ditampilkan. Untuk
|
|
wajib ada | Array<PlaceAutocompleteMatchedSubstring> |
Daftar substring yang menjelaskan lokasi istilah yang dimasukkan dalam teks hasil prediksi, sehingga istilah tersebut dapat ditandai jika diinginkan. Lihat PlaceAutocompleteMatchedSubstring untuk mengetahui informasi selengkapnya. |
|
wajib ada | PlaceAutocompleteStructuredFormat |
Menyediakan teks yang telah diformat sebelumnya yang dapat ditampilkan di hasil pelengkapan otomatis Anda. Konten ini ditujukan untuk dibaca apa adanya. Jangan mengurai alamat berformat secara terprogram. Lihat PlaceAutocompleteStructuredFormat untuk mengetahui informasi selengkapnya. |
|
wajib ada | Array<PlaceAutocompleteTerm> |
Berisi array istilah yang mengidentifikasi setiap bagian dari deskripsi
yang ditampilkan (bagian deskripsi umumnya diakhiri dengan koma). Setiap entri dalam array memiliki
kolom Lihat PlaceAutocompleteTerm untuk mengetahui informasi selengkapnya. |
|
opsional | bilangan bulat |
Jarak garis lurus dalam meter dari asal. Kolom ini
hanya ditampilkan untuk permintaan yang dibuat dengan |
|
opsional | string |
Sebuah identifier tekstual yang secara unik mengidentifikasi tempat. Untuk mengambil informasi tentang tempat, teruskan ID ini di kolom placeId pada permintaan Places API. Untuk mengetahui informasi selengkapnya tentang ID tempat, lihat ringkasan ID Tempat. |
|
opsional | string |
Lihat place_id. |
|
opsional | Array<string> |
Berisi array jenis yang berlaku untuk tempat ini. Misalnya:
|
PlaceAutocompleteMatchedSubstring
| Kolom | Wajib | Jenis | Deskripsi |
|---|---|---|---|
|
wajib ada | angka |
Panjang substring yang cocok dalam teks hasil prediksi. |
|
wajib ada | angka |
Lokasi awal substring yang cocok dalam hasil prediksi teks. |
PlaceAutocompleteStructuredFormat
| Kolom | Wajib | Jenis | Deskripsi |
|---|---|---|---|
|
wajib ada | string |
Berisi teks utama prediksi, biasanya nama tempat. |
|
wajib ada | Array<PlaceAutocompleteMatchedSubstring> |
Berisi array dengan nilai Lihat PlaceAutocompleteMatchedSubstring untuk mengetahui informasi selengkapnya. |
|
opsional | string |
Berisi teks sekunder prediksi, biasanya lokasi tempat. |
|
opsional | Array<PlaceAutocompleteMatchedSubstring> |
Berisi array dengan nilai Lihat PlaceAutocompleteMatchedSubstring untuk mengetahui informasi selengkapnya. |
PlaceAutocompleteTerm
| Kolom | Wajib | Jenis | Deskripsi |
|---|---|---|---|
|
wajib ada | angka |
Menentukan posisi awal istilah ini dalam deskripsi, yang diukur dalam karakter Unicode |
|
wajib ada | string |
Teks istilah. |