Text Search(新規)への移行

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'