Anda sudah siap!

Untuk mulai mengembangkan, masuklah ke dokumentasi developer kami.

Aktifkan Google Places API Web Service

Untuk membantu Anda memulai, kami akan memandu Anda melalui Google Developers Console untuk melakukan beberapa hal terlebih dahulu:

  1. Buat atau pilih sebuah proyek
  2. Aktifkan Google Places API Web Service
  3. Buat kunci yang sesuai
Lanjutkan

Query Autocomplete

Layanan Query Autocomplete bisa digunakan untuk memberikan prediksi kueri bagi penelusuran geografis berbasis teks, dengan mengembalikan pertanyaan yang disarankan saat Anda mengetiknya.

Permintaan Query Autocomplete

Layanan Query Autocomplete adalah bagian dari Google Places API Web Service dan menggunakan bersama kunci API serta kuota dengan Google Places API Web Service.

Layanan Query Autocomplete memungkinkan Anda menambahkan prediksi kueri geografis secara sambil-jalan pada aplikasi Anda. Sebagai ganti menelusuri lokasi tertentu, pengguna bisa mengetikkan penelusuran berkategori, seperti "pizza near New York" dan layanan akan merespons dengan daftar saran kueri yang cocok dengan string tersebut. Karena layanan Query Autocomplete bisa mencocokkan kata lengkap maupun substring, aplikasi bisa mengirimkan kueri saat pengguna mengetik, untuk memberikan prediksi secara sambil-jalan.

Permintaan Query Autocomplete adalah URL HTTP dengan bentuk berikut:

https://maps.googleapis.com/maps/api/place/queryautocomplete/output?parameters

dalam hal ini output bisa berupa json atau xml.

Diperlukan parameter tertentu untuk memulai permintaan Query Autocomplete. Sebagaimana standar dalam URL, semua parameter dipisah menggunakan karakter ampersand (&). Daftar parameter dan kemungkinan nilainya disebutkan di bawah ini.

Parameter yang diperlukan

  • input — String teks yang digunakan untuk menelusuri. Layanan Place akan mengembalikan bakal hasil berdasarkan string ini dan mengurutkan hasil berdasarkan relevansi yang terlihat.
  • keykunci API aplikasi Anda. Kunci ini mengidentifikasi aplikasi Anda untuk keperluan manajemen kuota. Lihat Dapatkan kunci untuk informasi selengkapnya. Google Maps APIs Premium Plan pelanggan harus menggunakan proyek API yang telah dibuatkan untuk mereka sebagai bagian dari pembelian Premium Plan.

Parameter opsional

  • offset — Posisi karakter dalam istilah yang dimasukkan, yang akan digunakan layanan ini untuk memprediksinya melalui teks. Misalnya, jika memasukkan 'Googl' dan titik penyelesaian adalah 3, maka layanan akan mencocokkan di 'Goo'. offset biasanya harus disetel ke posisi tanda penyisipan teks. Jika tidak ada offset yang diberikan, layanan ini akan menggunakan kata utuh.
  • location — Titik yang Anda inginkan untuk mengambil informasi tempat. Harus ditetapkan sebagai garis lintang,garis bujur.
  • radius — Jarak (dalam meter) jangkauan untuk mengembalikan hasil pencarian tempat. Perhatikan, setelan radius membuat hasil condong ke area yang ditandai, namun mungkin tidak sepenuhnya membatasi hasil ke area yang ditetapkan. Lihat Mencondongkan Lokasi untuk informasi selengkapnya.
  • language — Kode bahasa, menunjukkan dalam bahasa apa hasilnya akan dikembalikan, jika memungkinkan. Penelusuran juga dicondongkan ke bahasa yang dipilih; mengakibatkan bahasa yang dipilih mungkin diberikan peringkat lebih tinggi. Lihat daftar bahasa domain yang didukung. Jika bahasa tidak diberikan, layanan Place akan berusaha menggunakan bahasa asli domain yang menjadi asal pengiriman permintaan.

Mencondongkan Lokasi

Anda bisa mencondongkan hasil ke lingkaran yang ditetapkan dengan meneruskan parameter location dan radius. Hal tersebut akan menginstruksikan layanan Places agar lebih memilih untuk menampilkan hasil dalam lingkaran itu; hasil di luar area yang didefinisikan mungkin tetap ditampilkan.

Contoh Permintaan Query Autocomplete

Permintaan "Pizza near Par":

https://maps.googleapis.com/maps/api/place/queryautocomplete/json?key=YOUR_API_KEY&input=pizza+near%20par

Permintaan "Pizza near Par", dengan hasil dalam bahasa Prancis:

  https://maps.googleapis.com/maps/api/place/queryautocomplete/json?key=YOUR_API_KEY&language=fr&input=pizza+near%20par

Perhatikan, Anda perlu mengganti kunci API dalam contoh ini dengan kunci Anda sendiri.

Respons Query Autocomplete

Respons Query Autocomplete dikembalikan dalam format yang ditunjukkan oleh flag output dalam jalur permintaan URL. Hasil di bawah ini dikembalikan untuk kueri dengan parameter berikut:

https://maps.googleapis.com/maps/api/place/queryautocomplete/xml?&key=YOUR_API_KEY&input=pizza+near+sydne

JSON
{
   "predictions" : [
      {
         "description" : "pizza near Sydney, New South Wales, Australia",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 0
            },
            {
               "length" : 4,
               "offset" : 6
            },
            {
               "length" : 5,
               "offset" : 11
            }
         ],
         "terms" : [
            {
               "offset" : 0,
               "value" : "pizza"
            },
            {
               "offset" : 6,
               "value" : "near"
            },
            {
               "offset" : 11,
               "value" : "Sydney"
            },
            {
               "offset" : 19,
               "value" : "New South Wales"
            },
            {
               "offset" : 36,
               "value" : "Australia"
            }
         ]
      },
      {
         "description" : "pizza near Sydney, NS, Canada",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 0
            },
            {
               "length" : 4,
               "offset" : 6
            },
            {
               "length" : 5,
               "offset" : 11
            }
         ],
         "terms" : [
            {
               "offset" : 0,
               "value" : "pizza"
            },
            {
               "offset" : 6,
               "value" : "near"
            },
            {
               "offset" : 11,
               "value" : "Sydney"
            },
            {
               "offset" : 19,
               "value" : "NS"
            },
            {
               "offset" : 23,
               "value" : "Canada"
            }
         ]
      },
        ...additional results ...
      {
         "description" : "Bondi Pizza, Campbell Parade, Sydney, New South Wales, Australia",
         "id" : "c478ed4e7cb075b307fdce4ad4f6c9d15cab01d7",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 6
            },
            {
               "length" : 5,
               "offset" : 30
            }
         ],
         "place_id" : "ChIJv0wpwp6tEmsR0Glcf5tugrk",
         "reference" : "ClRPAAAAYozD2iM3dQvDMrvrLDIALGoHO7v6pWhxn5vIm18pOyLLqToyikFov34qJoe4NnpoaLtGIWd5LWm5hOpWU1BT-SEI2jGZ8WXuDvYiFtQtjGMSEIR4thVlMws1tnNuE3hE2k0aFCqP_yHWRNSLqaP_vQFzazO-D7Hl",
         "terms" : [
            {
               "offset" : 0,
               "value" : "Bondi Pizza"
            },
            {
               "offset" : 13,
               "value" : "Campbell Parade"
            },
            {
               "offset" : 30,
               "value" : "Sydney"
            },
            {
               "offset" : 38,
               "value" : "New South Wales"
            },
            {
               "offset" : 55,
               "value" : "Australia"
            }
         ],
         "types" : [ "establishment" ]
      }
   ],
     "status" : "OK"
  }
      

Respons JSON berisi dua elemen akar:

Lihat Memproses JSON dengan JavaScript untuk membantu mem-parse respons JSON.

XML
<?xml version="1.0" encoding="UTF-8"?>
<AutocompletionResponse>
 <status>OK</status>
 <prediction>
  <description>pizza near Sydney, New South Wales, Australia</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Sydney</value>
   <offset>11</offset>
  </term>
  <term>
   <value>New South Wales</value>
   <offset>19</offset>
  </term>
  <term>
   <value>Australia</value>
   <offset>36</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>6</offset>
   <length>4</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>5</length>
  </matched_substring>
 </prediction>
 <prediction>
  <description>pizza near Sydney, NS, Canada</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Sydney</value>
   <offset>11</offset>
  </term>
  <term>
   <value>NS</value>
   <offset>19</offset>
  </term>
  <term>
   <value>Canada</value>
   <offset>23</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>6</offset>
   <length>4</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>5</length>
  </matched_substring>
 </prediction>
...additional results ...
 <prediction>
  <description>Bondi Pizza, Campbell Parade, Sydney, New South Wales, Australia</description>
  <type>establishment</type>
  <place_id>ChIJv0wpwp6tEmsR0Glcf5tugrk</place_id>
  <reference>ClRPAAAADqzkHp7ZNKcaFxP-foYYI5dix_sSaqfkUgxEYaJrB0ntyg704tMG8sEJjebhIVLW4viCsKtnlxiBrrFk9fxq0ruf4oUdQDfv7zwmS4P68KQSEPKUkFNTgit63QOGRYeElv4aFJnD0wN2thFO6XFRq2JsHzQEirvC</reference>
  <id>c478ed4e7cb075b307fdce4ad4f6c9d15cab01d7</id>
  <term>
   <value>Bondi Pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>Campbell Parade</value>
   <offset>13</offset>
  </term>
  <term>
   <value>Sydney</value>
   <offset>30</offset>
  </term>
  <term>
   <value>New South Wales</value>
   <offset>38</offset>
  </term>
  <term>
   <value>Australia</value>
   <offset>55</offset>
  </term>
  <matched_substring>
   <offset>6</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>30</offset>
   <length>5</length>
  </matched_substring>
 </prediction>
</AutocompletionResponse>

Sebuah respons XML terdiri dari satu elemen <AutocompletionResponse> dengan dua tipe elemen anak:

  • Satu elemen <status> berisi metadata yang diminta. Lihat Kode Status di bawah ini.
  • Nol atau beberapa elemen <prediction>, masing-masing berisi informasi tentang satu prediksi kueri. Lihat Hasil Pelengkapan Otomatis Kueri untuk informasi tentang hasil ini.

Kami menyarankan Anda menggunakan json sebagai flag output yang dipilih kecuali jika aplikasi Anda memerlukan xml. Pemrosesan struktur hierarki XML memerlukan kehati-hatian, jadi Anda perlu mereferensikan simpul dan elemen yang tepat. Lihat Mem-parse XML dengan XPath untuk membantu pemrosesan XML.

Kode Status

Bidang status dalam objek respons Query Autocomplete berisi status permintaan, dan mungkin berisi informasi debug untuk membantu Anda melacak penyebab gagalnya permintaan. Bidang status bisa berisi nilai-nilai berikut:

  • OK menunjukkan tidak terjadi kesalahan dan setidaknya satu hasil dikembalikan.
  • ZERO_RESULTS menunjukkan penelusuran berhasil namun tidak mengembalikan hasil. Ini bisa terjadi jika pada penelusuran itu diteruskan bounds di lokasi terpencil.
  • OVER_QUERY_LIMIT menunjukkan Anda telah melebihi kuota.
  • REQUEST_DENIED menunjukkan bahwa permintaan Anda ditolak, umumnya karena parameter key tidak ada atau tidak valid.
  • INVALID_REQUEST biasanya menunjukkan parameter input tidak ada.

Pesan Kesalahan

Bila layanan Places mengembalikan kode status selain dari OK, mungkin ada bidang error_message tambahan dalam objek respons. Bidang ini berisi informasi lebih detail tentang alasan di balik kode status yang diberikan.

Hasil Pelengkapan Otomatis Kueri

Bila layanan Places mengembalikan hasil JSON dari penelusuran, hasilnya akan dimasukkan dalam larik predictions. Bahkan jika layanan tidak mengembalikan hasil (seperti jika location ada di tempat terpencil), layanan masih mengembalikan sebuah larik predictions yang kosong. Respons XML terdiri dari nol atau beberapa elemen <prediction>.

Setiap hasil prediksi berisi bidang-bidang berikut:

  • description berisi nama yang bisa dibaca orang untuk hasil yang dikembalikan. Untuk hasil establishment, biasanya berisi nama bisnis.
  • terms berisi larik istilah yang mengidentifikasi setiap bagian keterangan yang dikembalikan (bagian dari keterangan biasanya diakhiri dengan koma). Setiap entri dalam larik memiliki bidang value, yang berisi teks istilah, dan bidang offset, yang mendefinisikan posisi awal istilah ini dalam keterangan, yang diukur dalam karakter Unicode.
  • matched_substring berisi nilai offset dan length. Ini menjelaskan lokasi istilah yang dimasukkan dalam teks hasil prediksi, sehingga istilah itu bisa disorot jika diinginkan.

Perhatikan, beberapa prediksi mungkin berupa tempat, dan bidang place_id, reference dan type akan disertakan dalam prediksi itu. Lihat Hasil Place Autocomplete untuk informasi tentang hasil ini.

Parameter sensor

Google Places API Web Service sebelumnya mengharuskan Anda menyertakan parameter sensor untuk menunjukkan apakah aplikasi Anda menggunakan sensor untuk menentukan lokasi pengguna. Parameter ini tidak lagi diperlukan.

Kirim masukan tentang...

location_on
Google Places API Web Service