Places API の一部である Place Photos(レガシー)は、アプリケーションに質の高い写真コンテンツを追加できる読み取り専用の API です。Place Photos(レガシー)を使用すると、プレイス データベースに保存されている数百万枚の写真にアクセスできます。Place Details リクエストを使って場所の情報を検索すると、関連する写真コンテンツに対する写真のリファレンスが返されます。Find Place(レガシー)、Nearby Search(レガシー)、テキスト検索(レガシー)のリクエストでも、関連する写真コンテンツがあれば、場所ごとに 1 つの写真のリファレンスが返されます。Place Photos(レガシー)を使用すると、参照された写真にアクセスできるだけでなく、そうした画像をアプリケーションに最適なサイズに変更できます。
Place Photos(レガシー)リクエスト
Place Photos(以前の)リクエストは、次の形式の HTTP URL です。
https://maps.googleapis.com/maps/api/place/photo?parameters
検索リクエストを開始するには、特定のパラメータが必要です。URL の標準規則と同様に、すべてのパラメータはアンパサンド(&)文字を使用して区切ります。パラメータとその有効な値のリストを以下に示します。
必須パラメータ
-
photo_reference
写真を一意に識別する文字列識別子。写真のリファレンスは 返されます。Place Search リクエストまたは Place Details リクエストから
-
maxheight または maxwidth
maxheightは、画像の推奨される最大高さをピクセル単位で指定します。指定した値よりも画像が小さい場合は、元の画像が 返されます。いずれかの寸法が画像より大きい場合は、元の縦横比を維持したまま、2 つの寸法の小さい方に合わせて拡大されます。maxwidthは、画像の推奨される最大幅をピクセル単位で指定します。指定した値よりも画像が小さい場合は、元の画像が返されます。いずれかの寸法が画像より大きい場合は、元の縦横比を維持したまま、2 つの寸法の小さい方に合わせて拡大されます。maxheightプロパティとmaxwidthプロパティはどちらも、1~1600の整数を受け入れます。maxheight、maxwidth、またはその両方を指定する必要があります。
写真のリファレンス
Place Photos(レガシー)へのすべてのリクエストには、Find Place(レガシー)、Nearby Search(レガシー)、テキスト検索(レガシー)、または Place Details(レガシー)リクエストのレスポンスで返される photo_reference を含める必要があります。これらのリクエストのレスポンスには、場所に関連する写真コンテンツがある場合、photos[] フィールドが含まれます。
注: 返される写真の数はリクエストによって異なります。
- Find Place(レガシー)、Nearby Search(レガシー)、またはテキスト検索(レガシー)のリクエストでは、配列内に最大 1 つの
photo要素が返されます。 - Place Details(レガシー)リクエストでは、最大 10 個の
photo要素が返されます。
各 photo 要素には、次のフィールドが含まれます。
photo_reference- Place Photos(レガシー)リクエストを実行するときに写真の識別に使用する文字列。height- 画像の最大高さ。width- 画像の最大幅。html_attributions[]- 必要な帰属情報が含まれます。このフィールドは常に存在しますが、空の場合があります。
Place Photos(レガシー)によって返される写真の提供元は、お店やサービスの所有者、ユーザーの投稿などさまざまです。こういった写真は、帰属情報なしで使用できる場合や、必要な帰属情報が画像内にあらかじめ記載されている場合がほとんどです。ただし、返された photo 要素の html_attributions フィールドに値が含まれる場合は、アプリケーション内でその画像を表示するすべての箇所で、追加の帰属情報として組み込む必要があります。
次の例は、Place Details(レガシー)リクエストを示しています。
curl "https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJcUElzOzMQQwRLuV30nMUEUM&key=YOUR_API_KEY"
レスポンスの photos[] 配列の例を以下に示します。
...
"photos" : [
{
"html_attributions" : [],
"height" : 853,
"width" : 1280,
"photo_reference" : "ATJ83zhSSAtkh5LTozXMhBghqubeOxnZWUV2m7Hv2tQaIzKQJgvZk9yCaEjBW0r0Zx1oJ9RF1G7oeM34sQQMOv8s2zA0sgGBiyBgvdyMxeVByRgHUXmv-rkJ2wyvNv17jyTSySm_-_6R2B0v4eKX257HOxvXlx_TSwp2NrICKrZM2d5d2P4q"
}]
...
Place Photos(レガシー)の例
リクエストの例を以下に示します。このリクエストは、参照画像を返します。画像の幅が最大 400 ピクセルになるようにサイズが変更されます。
https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photo_reference=ATJ83zhSSAtkh5LTozXMhBghqubeOxnZWUV2m7Hv2tQaIzKQJgvZk9yCaEjBW0r0Zx1oJ9RF1G7oeM34sQQMOv8s2zA0sgGBiyBgvdyMxeVByRgHUXmv-rkJ2wyvNv17jyTSySm_-_6R2B0v4eKX257HOxvXlx_TSwp2NrICKrZM2d5d2P4q &key=YOUR_API_KEY
Place Photos(レガシー)のレスポンス
Place Photos(レガシー)リクエストが成功した場合のレスポンスは画像です。画像のタイプは、最初に送信された写真のタイプによって異なります。
リクエストが利用可能な割り当てを超えている場合、サーバーは HTTP 403 ステータスを返し、次の画像を表示して割り当てを超えていることを示します。

サーバーがリクエストを理解できない場合は、HTTP 400 ステータスが返されます。これは、リクエストが無効であることを示します。リクエストが無効になる一般的な理由は次のとおりです。
- 送信された写真のリファレンスが正しく指定されていません。
- リクエストに
maxwidthパラメータまたはmaxheightパラメータが含まれていません。 maxwidthパラメータまたはmaxheightパラメータの値がnullに設定されています。photo_referenceの有効期限が切れています。photo_referenceの有効期限が切れた場合は、Place Details(以前の)、Find Place(以前の)、Nearby Search(以前の)、または テキスト検索(以前の) にリクエストを送信して、更新されたphoto_reference値を取得します。