Method: places.autocomplete

Menampilkan prediksi untuk input yang diberikan.

Permintaan HTTP

POST https://places.googleapis.com/v1/places:autocomplete

URL menggunakan sintaksis gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string,
  "includePureServiceAreaBusinesses": boolean
}
Kolom
input

string

Wajib. String teks yang akan ditelusuri.

locationBias

object (LocationBias)

Opsional. Membiaskan hasil ke lokasi yang ditentukan.

Maksimal satu dari locationBias atau locationRestriction harus ditetapkan. Jika tidak ada yang ditetapkan, hasilnya akan bias berdasarkan alamat IP, yang berarti alamat IP akan dipetakan ke lokasi yang tidak akurat dan digunakan sebagai sinyal bias.

locationRestriction

object (LocationRestriction)

Opsional. Membatasi hasil ke lokasi yang ditentukan.

Maksimal satu dari locationBias atau locationRestriction harus ditetapkan. Jika tidak ada yang ditetapkan, hasilnya akan bias berdasarkan alamat IP, yang berarti alamat IP akan dipetakan ke lokasi yang tidak akurat dan digunakan sebagai sinyal bias.

includedPrimaryTypes[]

string

Opsional. Menyertakan jenis Tempat utama (misalnya, "restaurant" atau "gas_station") di Jenis Tempat (https://developers.google.com/maps/documentation/places/web-service/place-types), atau hanya (regions), atau hanya (cities). Tempat hanya ditampilkan jika jenis utamanya disertakan dalam daftar ini. Maksimal 5 nilai dapat ditentukan. Jika tidak ada jenis yang ditentukan, semua jenis Tempat akan ditampilkan.

includedRegionCodes[]

string

Opsional. Hanya sertakan hasil di wilayah yang ditentukan, yang ditentukan sebagai maksimal 15 kode wilayah dua karakter CLDR. Set kosong tidak akan membatasi hasil. Jika locationRestriction dan includedRegionCodes ditetapkan, hasilnya akan berada di area persimpangan.

languageCode

string

Opsional. Bahasa yang digunakan untuk menampilkan hasil. Setelan defaultnya adalah en-US. Hasilnya mungkin dalam bahasa campuran jika bahasa yang digunakan di input berbeda dengan languageCode atau jika Tempat yang ditampilkan tidak memiliki terjemahan dari bahasa lokal ke languageCode.

regionCode

string

Opsional. Kode wilayah, yang ditentukan sebagai kode wilayah dua karakter CLDR. Hal ini memengaruhi format alamat, peringkat hasil, dan dapat memengaruhi hasil yang ditampilkan. Hal ini tidak membatasi hasil ke wilayah yang ditentukan. Untuk membatasi hasil ke region, gunakan region_code_restriction.

origin

object (LatLng)

Opsional. Titik asal tempat jarak geodesik dihitung ke tujuan (ditampilkan sebagai distanceMeters). Jika nilai ini dihilangkan, jarak geodesik tidak akan ditampilkan.

inputOffset

integer

Opsional. Offset karakter Unicode berbasis nol dari input yang menunjukkan posisi kursor di input. Posisi kursor dapat memengaruhi prediksi yang ditampilkan.

Jika kosong, setelan defaultnya adalah panjang input.

includeQueryPredictions

boolean

Opsional. Jika benar, respons akan menyertakan prediksi Place dan kueri. Jika tidak, respons hanya akan menampilkan prediksi Tempat.

sessionToken

string

Opsional. String yang mengidentifikasi sesi Autocomplete untuk tujuan penagihan. Harus berupa string base64 yang aman untuk URL dan nama file dengan panjang maksimum 36 karakter ASCII. Jika tidak, error INVALID_ARGUMENT akan ditampilkan.

Sesi dimulai saat pengguna mulai mengetik kueri, dan berakhir saat mereka memilih tempat dan panggilan ke Place Details atau Address Validation dilakukan. Setiap sesi dapat memiliki beberapa kueri, yang diikuti dengan satu permintaan Place Details atau Address Validation. Kredensial yang digunakan untuk setiap permintaan dalam sesi harus berasal dari project Konsol Google Cloud yang sama. Setelah sesi selesai, token tidak lagi valid; aplikasi Anda harus membuat token baru untuk setiap sesi. Jika parameter sessionToken dihilangkan, atau jika Anda menggunakan kembali token sesi, sesi tersebut dikenai biaya seolah-olah tidak ada token sesi yang diberikan (setiap permintaan ditagih secara terpisah).

Sebaiknya ikuti panduan berikut:

  • Gunakan token sesi untuk semua panggilan Place Autocomplete.
  • Buat token baru untuk setiap sesi. Sebaiknya gunakan UUID versi 4.
  • Pastikan kredensial yang digunakan untuk semua permintaan Place Autocomplete, Place Details, dan Address Validation dalam sesi berasal dari project Konsol Cloud yang sama.
  • Pastikan untuk meneruskan token sesi yang unik untuk setiap sesi baru. Jika menggunakan token yang sama untuk lebih dari satu sesi, setiap permintaan akan ditagih satu per satu.
includePureServiceAreaBusinesses

boolean

Opsional. Sertakan bisnis jasa sistem panggilan murni jika kolom ditetapkan ke benar. Bisnis jasa sistem panggilan murni adalah bisnis yang melakukan kunjungan atau pengiriman ke pelanggan secara langsung, tetapi tidak melayani pelanggan di alamat bisnisnya. Misalnya, bisnis seperti layanan kebersihan atau tukang leding. Bisnis tersebut tidak memiliki alamat atau lokasi fisik di Google Maps. Places tidak akan menampilkan kolom termasuk location, plusCode, dan kolom terkait lokasi lainnya untuk bisnis ini.

Isi respons

Proto respons untuk places.autocomplete.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Kolom
suggestions[]

object (Suggestion)

Berisi daftar saran, yang diurutkan dalam urutan relevansi menurun.

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform

LocationBias

Wilayah yang akan ditelusuri. Hasilnya mungkin bias di sekitar wilayah yang ditentukan.

Representasi JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Kolom

Kolom union type.

type hanya dapat berupa salah satu dari hal berikut:

rectangle

object (Viewport)

Area pandang yang ditentukan oleh sudut timur laut dan barat daya.

circle

object (Circle)

Lingkaran yang ditentukan oleh titik tengah dan radius.

LocationRestriction

Wilayah yang akan ditelusuri. Hasil akan dibatasi pada wilayah yang ditentukan.

Representasi JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Kolom

Kolom union type.

type hanya dapat berupa salah satu dari hal berikut:

rectangle

object (Viewport)

Area pandang yang ditentukan oleh sudut timur laut dan barat daya.

circle

object (Circle)

Lingkaran yang ditentukan oleh titik tengah dan radius.

Saran

Hasil saran Autocomplete.

Representasi JSON
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
Kolom

Kolom union kind.

kind hanya dapat berupa salah satu dari hal berikut:

placePrediction

object (PlacePrediction)

Prediksi untuk Tempat.

queryPrediction

object (QueryPrediction)

Prediksi untuk kueri.

PlacePrediction

Hasil prediksi untuk prediksi Place Autocomplete.

Representasi JSON
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
Kolom
place

string

Nama resource Tempat yang disarankan. Nama ini dapat digunakan di API lain yang menerima nama Tempat.

placeId

string

ID unik Tempat yang disarankan. ID ini dapat digunakan di API lain yang menerima ID Tempat.

text

object (FormattableText)

Berisi nama yang dapat dibaca manusia untuk hasil yang ditampilkan. Untuk hasil tempat, ini biasanya adalah nama dan alamat bisnis.

text direkomendasikan untuk developer yang ingin menampilkan satu elemen UI. Developer yang ingin menampilkan dua elemen UI terpisah, tetapi terkait, sebaiknya menggunakan structuredFormat. Keduanya adalah dua cara berbeda untuk merepresentasikan prediksi Tempat. Pengguna tidak boleh mencoba mengurai structuredFormat menjadi text atau sebaliknya.

Teks ini mungkin berbeda dengan displayName yang ditampilkan oleh places.get.

Mungkin dalam bahasa campuran jika permintaan input dan languageCode dalam bahasa yang berbeda atau jika Tempat tidak memiliki terjemahan dari bahasa lokal ke languageCode.

structuredFormat

object (StructuredFormat)

Perincian prediksi Tempat menjadi teks utama yang berisi nama Tempat dan teks sekunder yang berisi fitur disambiguasi tambahan (seperti kota atau wilayah).

structuredFormat direkomendasikan untuk developer yang ingin menampilkan dua elemen UI terpisah, tetapi terkait. Developer yang ingin menampilkan satu elemen UI sebaiknya menggunakan text. Keduanya adalah dua cara berbeda untuk merepresentasikan prediksi Tempat. Pengguna tidak boleh mencoba mengurai structuredFormat menjadi text atau sebaliknya.

types[]

string

Daftar jenis yang berlaku untuk Tempat ini dari Tabel A atau Tabel B di https://developers.google.com/maps/documentation/places/web-service/place-types.

Jenis adalah kategorisasi Tempat. Tempat dengan jenis yang sama akan memiliki karakteristik yang serupa.

distanceMeters

integer

Panjang geodesi dalam meter dari origin jika origin ditentukan. Prediksi tertentu seperti rute mungkin tidak mengisi kolom ini.

FormattableText

Teks yang mewakili Tempat atau prediksi kueri. Teks dapat digunakan apa adanya atau diformat.

Representasi JSON
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
Kolom
text

string

Teks yang dapat digunakan apa adanya atau diformat dengan matches.

matches[]

object (StringRange)

Daftar rentang string yang mengidentifikasi tempat permintaan input dicocokkan di text. Rentang dapat digunakan untuk memformat bagian tertentu dari text. Substring mungkin tidak sama persis dengan input jika pencocokan ditentukan oleh kriteria selain pencocokan string (misalnya, koreksi ejaan atau transliterasi).

Nilai ini adalah offset karakter Unicode dari text. Rentang dijamin akan diurutkan dalam nilai offset yang meningkat.

StringRange

Mengidentifikasi substring dalam teks tertentu.

Representasi JSON
{
  "startOffset": integer,
  "endOffset": integer
}
Kolom
startOffset

integer

Offset berbasis nol dari karakter Unicode pertama string (inklusif).

endOffset

integer

Offset berbasis nol dari karakter Unicode terakhir (eksklusif).

StructuredFormat

Berisi pengelompokan prediksi Tempat atau kueri menjadi teks utama dan teks sekunder.

Untuk prediksi Tempat, teks utama berisi nama spesifik Tempat. Untuk prediksi kueri, teks utama berisi kueri.

Teks sekunder berisi fitur pemisahan tambahan (seperti kota atau wilayah) untuk mengidentifikasi Tempat lebih lanjut atau menyaring kueri.

Representasi JSON
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
Kolom
mainText

object (FormattableText)

Mewakili nama Tempat atau kueri.

secondaryText

object (FormattableText)

Merepresentasikan fitur disambiguasi tambahan (seperti kota atau wilayah) untuk mengidentifikasi Tempat lebih lanjut atau menyaring kueri.

QueryPrediction

Hasil prediksi untuk prediksi Autocomplete Kueri.

Representasi JSON
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
Kolom
text

object (FormattableText)

Teks yang diprediksi. Teks ini tidak mewakili Tempat, tetapi merupakan kueri teks yang dapat digunakan di endpoint penelusuran (misalnya, Text Search).

text direkomendasikan untuk developer yang ingin menampilkan satu elemen UI. Developer yang ingin menampilkan dua elemen UI terpisah, tetapi terkait, sebaiknya menggunakan structuredFormat. Keduanya adalah dua cara berbeda untuk merepresentasikan prediksi kueri. Pengguna tidak boleh mencoba mengurai structuredFormat menjadi text atau sebaliknya.

Mungkin dalam bahasa campuran jika permintaan input dan languageCode dalam bahasa yang berbeda atau jika bagian dari kueri tidak memiliki terjemahan dari bahasa lokal ke languageCode.

structuredFormat

object (StructuredFormat)

Perincian prediksi kueri menjadi teks utama yang berisi kueri dan teks sekunder yang berisi fitur disambiguasi tambahan (seperti kota atau wilayah).

structuredFormat direkomendasikan untuk developer yang ingin menampilkan dua elemen UI terpisah, tetapi terkait. Developer yang ingin menampilkan satu elemen UI sebaiknya menggunakan text. Keduanya adalah dua cara berbeda untuk merepresentasikan prediksi kueri. Pengguna tidak boleh mencoba mengurai structuredFormat menjadi text atau sebaliknya.