Places API は既存のテキスト検索をサポートしています。既存の Text Search を使い慣れている方は、新バージョンの Text Search で次の変更が行われています。
- 新しいテキスト検索では HTTP POST リクエストを使用します。パラメータは、HTTP POST リクエストの一部として、リクエスト本文またはヘッダーで渡します。一方、既存のテキスト検索では、HTTP GET リクエストを使用して URL パラメータを渡します。
- フィールド マスキングは必須です。レスポンスで返すフィールドを指定する必要があります。返されるフィールドのデフォルト リストはありません。このリストを省略すると、メソッドはエラーを返します。詳細については、FieldMask をご覧ください。
- 新しい Text Search では、認証メカニズムとして API キーと OAuth トークンの両方がサポートされています。
- 新しい Text Search のレスポンス形式としてサポートされているのは JSON のみです。
既存のテキスト検索では、クエリ文字列で緯度と経度の座標を指定できます。例:
query=37.4239,-122.0925
。 このオプションは新しいテキスト検索ではサポートされていません。座標を検索して住所を返すには、リバース ジオコーディングを使用します。特定の場所の周辺にある場所を見つけるには、Nearby 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 リクエストの例では、既存のテキスト検索を使用します。この例では、「オーストラリアのシドニーのスパイシー ベジタリアン フード」に関する情報を含む 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
テキスト検索(新版)では、POST リクエストを行い、すべてのパラメータを POST リクエストの一部として JSON リクエストの本文またはヘッダーで渡します。また、この例ではフィールド マスクを使用して、レスポンスに場所の表示名とフォーマット済み住所のみが含まれるようにしています。
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'