Places API は、既存のテキスト検索をサポートしています。既存の Text Search を使い慣れている方は、新しいバージョンの Text Search で次の変更が行われています。
- 新しい Text Search では HTTP POST リクエストを使用します。HTTP POST リクエストの一部として、リクエスト本文またはヘッダーでパラメータを渡します。これに対して、既存の Text Search では、HTTP GET リクエストを使用して URL パラメータを渡します。
- フィールド マスキングは必須です。レスポンスで返すフィールドを指定する必要があります。返されるフィールドのデフォルト リストはありません。このリストを省略すると、メソッドはエラーを返します。詳細については、FieldMask をご覧ください。
- 新しい Text Search では、認証メカニズムとして API キーと OAuth トークンの両方がサポートされています。
- 新しい Text Search では、レスポンス形式として JSON のみがサポートされています。
既存の Text Search では、クエリ文字列で緯度と経度の座標を指定できます。例:
query=37.4239,-122.0925
。このオプションは新しい Text Search ではサポートされていません。リバース ジオコーディングを使用すると、座標を検索して住所を返したり、Nearby Search(新機能)を使用して特定の地点周辺のスポットを検索したりできます。
- Text Search(新規)API の JSON レスポンスの形式が、既存の API の形式から変更されました。詳しくは、Places API レスポンスを移行するをご覧ください。
次の表に、新しい Text Search 用に名前変更または変更された既存の Text Search のパラメータ、またはサポートが終了したパラメータを示します。
現在のパラメータ | 新しいパラメータ | メモ |
---|---|---|
evOptions |
新しいパラメータ。 | |
language |
languageCode |
|
location |
locationBias |
|
maxprice/minprice |
priceLevels |
|
opennow |
openNow |
|
pagetoken |
サポートされていません。 | |
query |
textQuery |
すべてのリクエストで必須。 |
radius |
locationBias |
locationBias を定義するときに半径を指定します。 |
region |
regionCode |
|
type |
includedType |
値は 1 つだけ受け取ります。 |
strictTypeFiltering |
新しいパラメータ。 |
リクエストの例
次の GET リクエストの例では、既存の Text Search を使用しています。この例では、「オーストラリアのシドニーのスパイシー ベジタリアン料理」に関する情報を含む JSON レスポンスをリクエストし、すべてのパラメータを URL パラメータとして渡します。
curl -L -X GET \ 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=Spicy%20Vegetarian%20Food%20in%20Sydney%20Australia&key=API_KEY
Text Search(New)では、POST リクエストを作成し、すべてのパラメータを JSON リクエスト本文または POST リクエストの一部としてヘッダーで渡します。この例ではフィールド マスクも使用しているため、レスポンスには場所の表示名とフォーマット済み住所のみが含まれます。
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'