Pelengkapan Otomatis (Baru)

Pilih platform: Android iOS JavaScript Layanan Web

Layanan 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.

Layanan 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 (New) API 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 API menggunakan string sebagai input yang berisi input pengguna sebagian, "Sicilian piz", dengan area penelusuran terbatas di 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 (New) 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 "Sicilian Pizza & Pasta". Setiap prediksi kueri dalam respons menyertakan kolom text yang berisi string penelusuran teks yang direkomendasikan. Gunakan string tersebut sebagai input ke Text Search (Baru) untuk melakukan penelusuran yang lebih mendetail.

Dengan APIs Explorer, Anda dapat membuat permintaan langsung sehingga Anda dapat memahami API dan opsi API:

Permintaan Pelengkapan Otomatis (Baru)

Permintaan Autocomplete (Baru) adalah permintaan POST HTTP ke URL dalam bentuk:

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

Teruskan semua parameter dalam isi permintaan JSON atau dalam 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

Tentang respons

Autocomplete (Baru) menampilkan objek JSON sebagai respons. Dalam respons:

  • Array suggestions berisi semua tempat dan kueri yang diprediksi secara berurutan berdasarkan relevansi yang dirasakan. Setiap tempat direpresentasikan oleh kolom placePrediction dan setiap kueri direpresentasikan oleh kolom queryPrediction.
  • 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 lengkap dalam bentuk:

{
  "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 lengkap dan substring, nama tempat, alamat, dan kode plus. Layanan Autocomplete (Baru) menampilkan kandidat 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.place dan suggestions.placePrediction.text saran.

      X-Goog-FieldMask: places.displayName,places.formattedAddress

    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 menjadi jenis utama atau jenis utama tertentu dengan meneruskan parameter includedPrimaryTypes.

    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.

    Sebagai gantinya, parameter ini juga dapat menyertakan salah satu dari (regions) atau (cities). Kumpulan jenis (regions) memfilter area atau divisi, seperti lingkungan 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.
    • Setiap jenis ditentukan selain (cities) atau (regions).
    • Semua jenis yang tidak dikenal ditentukan.
  • includePureServiceAreaBusinesses

    Jika ditetapkan ke true, respons akan menyertakan bisnis yang melakukan kunjungan atau pengiriman langsung ke pelanggan, tetapi tidak memiliki lokasi bisnis fisik. Jika ditetapkan ke false, API hanya menampilkan bisnis dengan lokasi bisnis fisik.

  • includeQueryPredictions

    Jika true, respons akan menyertakan prediksi tempat dan kueri. Nilai defaultnya adalah false, yang berarti respons hanya menyertakan prediksi tempat.

  • includedRegionCodes

    Hanya sertakan hasil dari daftar wilayah yang ditentukan, yang ditentukan sebagai array hingga 15 nilai dua karakter ccTLD ("domain level teratas"). Jika dihilangkan, tidak ada batasan yang diterapkan pada respons. Misalnya, untuk membatasi wilayah ke Jerman dan Prancis:

        "includedRegionCodes": ["de", "fr"]

    Jika Anda menentukan locationRestriction dan includedRegionCodes, hasilnya akan berada di area persimpangan kedua setelan tersebut.

  • inputOffset

    Offset karakter Unicode berbasis nol yang menunjukkan posisi kursor di input. Posisi kursor dapat memengaruhi prediksi yang ditampilkan. Jika kosong, setelan defaultnya adalah panjang input.

  • languageCode

    Bahasa yang diinginkan untuk menampilkan hasil. Hasilnya mungkin dalam bahasa campuran jika bahasa yang digunakan di input berbeda dengan nilai yang ditentukan oleh languageCode, atau jika tempat yang ditampilkan tidak memiliki terjemahan dari bahasa lokal ke languageCode.

    • Anda harus menggunakan kode bahasa IETF BCP-47 untuk menentukan bahasa pilihan.
    • Jika languageCode tidak diberikan, API akan menggunakan nilai yang ditentukan dalam header Accept-Language. Jika tidak ada yang ditentukan, defaultnya adalah en. Jika Anda menentukan kode bahasa yang tidak valid, API akan menampilkan error INVALID_ARGUMENT.
    • Bahasa pilihan memiliki pengaruh kecil pada kumpulan hasil yang dipilih API untuk ditampilkan, dan urutan kemunculan hasil tersebut. Hal ini juga memengaruhi kemampuan API untuk memperbaiki kesalahan ejaan.
    • API mencoba memberikan alamat jalan yang dapat dibaca oleh pengguna dan penduduk lokal, 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 parameter languageCode jika tersedia, atau 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 untuk mencocokkan istilah dalam parameter input.
      • Semua alamat lainnya ditampilkan dalam bahasa yang diinginkan, setelah istilah pencocokan dipilih untuk mencocokkan istilah dalam parameter input. Jika nama tidak tersedia dalam bahasa pilihan, API akan menggunakan kecocokan terdekat.
  • locationBias atau locationRestriction

    Anda dapat menentukan locationBias atau locationRestriction, tetapi tidak keduanya, untuk menentukan area penelusuran. Anggap locationRestriction sebagai menentukan wilayah tempat hasil harus berada, dan locationBias sebagai menentukan wilayah 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 bahwa 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 atau locationRestriction sebagai Viewport 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 pandang 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 berkisar antara -90 hingga 90 derajat inklusif, dan batas bujur harus berkisar antara -180 hingga 180 derajat inklusif:

      • Jika low = high, area pandang terdiri dari satu titik tersebut.
      • Jika low.longitude > high.longitude, rentang bujur akan terbalik (area pandang melintasi garis bujur 180 derajat).
      • Jika low.longitude = -180 derajat dan high.longitude = 180 derajat, area pandang akan menyertakan semua bujur.
      • Jika low.longitude = 180 derajat dan high.longitude = -180 derajat, rentang bujur akan kosong.

      low dan high harus diisi, dan kotak yang direpresentasikan tidak boleh kosong. Area pandang kosong akan menyebabkan error.

      Misalnya, area pandang ini sepenuhnya mencakup New York City:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • asal

    Titik asal tempat jarak garis lurus dihitung ke tujuan (ditampilkan sebagai distanceMeters). Jika nilai ini dihilangkan, 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").

    Jika Anda menentukan kode wilayah yang tidak valid, API akan menampilkan error INVALID_ARGUMENT. Parameter ini dapat memengaruhi hasil berdasarkan hukum yang berlaku.

  • sessionToken

    Token sesi adalah string buatan 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 informasi selengkapnya, lihat Token sesi.

Contoh Autocomplete (Baru)

Membatasi penelusuran ke area menggunakan locationRestriction

locationRestriction menentukan area yang akan ditelusuri. Hasil di luar area yang ditentukan tidak akan 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 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": [
            "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 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 membiaskan 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 Viewport persegi panjang muncul dalam respons, beberapa hasil berada di luar batas yang ditentukan, karena 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.

Pada contoh berikut, Anda menentukan string input "Sepak Bola" dan menggunakan parameter includedPrimaryTypes untuk membatasi hasil ke tempat usaha berjenis "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 menyertakan tempat dari 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 di Tentang respons. Setiap prediksi kueri menyertakan 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.

Menggunakan origin

Dalam contoh ini, sertakan origin dalam permintaan sebagai koordinat lintang dan bujur. Saat Anda menyertakan origin, API akan 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

Responsnya kini 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
      }
    }
  ]
}

Cobalah!

API Explorer memungkinkan Anda membuat contoh permintaan sehingga Anda dapat memahami API dan opsi API.

Cobalah!

Dengan APIs Explorer, Anda dapat membuat contoh permintaan sehingga Anda dapat memahami API dan opsi API.

  1. Pilih ikon API api di sisi kanan halaman.

  2. Atau, edit parameter permintaan.

  3. Pilih tombol Execute. Dalam dialog, pilih akun yang ingin Anda gunakan untuk membuat permintaan.

  4. Di panel APIs Explorer, pilih ikon layar penuh fullscreen untuk meluaskan jendela APIs Explorer.