Method: places.autocomplete

Menampilkan prediksi untuk input tertentu.

Permintaan HTTP

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

URL ini 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,
  "includeFutureOpeningBusinesses": 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 yang harus ditetapkan. Jika keduanya tidak ditetapkan, hasilnya akan dipengaruhi oleh 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 tertentu.

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

includedPrimaryTypes[]

string

Opsional. Jenis Tempat utama yang disertakan (misalnya, "restaurant" atau "gas_station") dalam 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 menyertakan hasil di wilayah yang ditentukan, yang ditentukan sebagai hingga 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. Nilai 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 pemformatan alamat, peringkat hasil, dan dapat memengaruhi hasil yang ditampilkan. Hal ini tidak membatasi hasil ke wilayah yang ditentukan. Untuk membatasi hasil ke suatu region, gunakan region_code_restriction.

origin

object (LatLng)

Opsional. Titik asal untuk menghitung jarak geodetik ke tujuan (ditampilkan sebagai distanceMeters). Jika nilai ini tidak disertakan, jarak geodetik 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, defaultnya adalah panjang input.

includeQueryPredictions

boolean

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

sessionToken

string

Opsional. String yang mengidentifikasi sesi Pelengkapan Otomatis untuk tujuan penagihan. Harus berupa string base64 yang aman untuk URL dan nama file dengan panjang maksimal 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 termasuk dalam 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 (true). 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.

includeFutureOpeningBusinesses

boolean

Opsional. Jika benar, sertakan bisnis yang belum buka, tetapi akan buka di masa mendatang.

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 dari atas ke bawah.

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 tampilan 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 ke 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 tampilan yang ditentukan oleh sudut timur laut dan barat daya.

circle

object (Circle)

Lingkaran yang ditentukan oleh titik tengah dan radius.

Saran

Hasil saran pelengkapan otomatis.

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 suatu 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 dari 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, biasanya ini adalah nama dan alamat bisnis.

text direkomendasikan untuk developer yang ingin menampilkan satu elemen UI. Developer yang ingin menampilkan dua elemen UI yang terpisah, tetapi terkait, mungkin ingin menggunakan structuredFormat sebagai gantinya. 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 tambahan untuk membedakan (seperti kota atau wilayah).

structuredFormat direkomendasikan untuk developer yang ingin menampilkan dua elemen UI yang terpisah, tetapi terkait. Developer yang ingin menampilkan satu elemen UI dapat menggunakan text sebagai gantinya. 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 merepresentasikan prediksi Tempat atau 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 cocok dalam text. Rentang dapat digunakan untuk memformat bagian tertentu dari text. Substring mungkin tidak cocok 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 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 perincian 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 tambahan yang memperjelas (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)

Mewakili fitur tambahan yang memperjelas (seperti kota atau wilayah) untuk mengidentifikasi Tempat lebih lanjut atau menyaring kueri.

QueryPrediction

Hasil prediksi untuk prediksi Pelengkapan Otomatis Kueri.

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

object (FormattableText)

Teks yang diprediksi. Teks ini tidak merepresentasikan Tempat, melainkan 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 yang terpisah, tetapi terkait, mungkin ingin menggunakan structuredFormat sebagai gantinya. 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 sebagian kueri tidak memiliki terjemahan dari bahasa lokal ke languageCode.

structuredFormat

object (StructuredFormat)

Perincian prediksi kueri ke dalam teks utama yang berisi kueri dan teks sekunder yang berisi fitur tambahan untuk memperjelas (seperti kota atau wilayah).

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