はじめに
Street View Static API メタデータ リクエストでは、ストリートビュー パノラマに関するデータが提供されます。メタデータを使用すると、特定の場所でストリートビュー画像が利用可能かどうかを調べたり、緯度と経度の座標、パノラマ ID、写真の撮影日、画像の著作権情報にプログラムでアクセスしたりできます。このメタデータにアクセスすると、アプリケーションのエラー動作をカスタマイズできます。
Street View Static API メタデータ リクエストは無料で利用できます。メタデータをリクエストしても、割り当ては消費されません。 割り当てが消費されるのは、Street View Static API を使用して画像を読み込む場合のみです。
ストリートビューの画像メタデータをリクエストすると、パノラマ画像の精度は 50 m になります。
画像メタデータにアクセスする
ストリートビュー画像のメタデータ リクエストは、次の形式の HTTP URL です。
https://maps.googleapis.com/maps/api/streetview/metadata?parameters
URL の標準と同様に、すべてのパラメータはアンパサンド(&)文字を使用して区切ります。
メタデータ リクエストの必須パラメータ
メタデータ リクエストでは、Street View Static API 画像リクエストと同じ URL パラメータを使用できますが、必須となるのは以下のパラメータのみです。
次のいずれかを実行します。
location
- テキスト文字列(Chagrin Falls, OH
など)か、カンマ区切りの緯度と経度の座標のペア(40.457375,-80.009353
)のいずれかを指定できます。
または
pano
- 特定のパノラマ ID。パノラマの ID は時間の経過とともに変化する可能性があるため、この ID は保持しないでください。代わりに、パノラマ ID を更新できるように、位置の住所または緯度と経度の座標を保存します。詳しくは、削除されたパノラマ ID を更新するをご覧ください。
さらに:
key
とsignature
- リクエストの認証には API キーが必要です。特定の状況ではデジタル署名も必要です。デジタル署名は常に推奨されています。詳細については、鍵と署名を取得するをご覧ください。
必須パラメータのみを含むメタデータ リクエストは次のようになります。
https://maps.googleapis.com/maps/api/streetview/metadata?location=&key=YOUR_API_KEY&signature=
次のように変更します。
https://maps.googleapis.com/maps/api/streetview/metadata?pano=&key=YOUR_API_KEY&signature=
削除したパノラマ ID を更新する
パノラマ ID を取得しようとして、ZERO_RESULTS
または値なしのいずれかを取得しようとした場合、パノラマ ID は削除されているため、更新する必要があります。
必要に応じて更新できるように、パノラマ ID の取得に使用した場所の住所または緯度と経度の座標を保存します。
パノラマ ID の変更を検出したら、元の場所の住所または緯度と経度の座標を使用して、その場所に最も近いパノラマを再度検索し、新しいパノラマ ID を取得します。
メタデータ リクエストのオプション パラメータ
メタデータ リクエストには、size
、heading
、fov
、pitch
の各パラメータを含めることができます。なお、これらのパラメータはパノラマのデータや検出されるパノラマには影響を与えません。この API では、画像リクエストと同じパラメータを含めることができるため、特定の画像リクエストに関連するメタデータ リクエストを簡単に作成できます。ただし、メタデータ リクエストの場合、API は省略可能なパラメータとその値を無視します。これらのパラメータの使用方法については、Street View Static API デベロッパー ガイドをご覧ください。
レスポンスの形式
メタデータのレスポンスは、JSON 形式でのみ返されます。
例
例 1: パノラマが見つかりました
次の URL は、同じパノラマのメタデータと画像を正常にリクエストしています。
メタデータのリクエストとレスポンス
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{ "copyright" : "© 2017 Google", "date" : "2016-05", "location" : { "lat" : 48.85783227207914, "lng" : 2.295226175151347 }, "pano_id" : "tu510ie_z4ptBZYo2BGEJg", "status" : "OK" }
画像のリクエストとレスポンス。画像がないことが想定されます。
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
例 2: パノラマが見つからない
次の URL は、指定した場所またはその付近で見つからないパノラマのメタデータと画像をリクエストします。
メタデータのリクエストとレスポンス
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{ "status" : "ZERO_RESULTS" }
画像のリクエストとレスポンス
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
ステータス コード
メタデータ レスポンス オブジェクトの status
フィールドには、リクエストのステータスが格納されます。ストリートビュー リクエストが機能していない原因のトラブルシューティングに役立つデバッグ情報が格納される場合もあります。status
フィールドには、次の値が含まれることがあります。
ステータス | 説明 |
---|---|
"OK" |
エラーが発生しなかったことを示します。パノラマが見つかり、メタデータが返されます。 |
"ZERO_RESULTS" |
指定された場所の付近でパノラマが見つからなかったことを示します。 このレスポンスは、存在しないパノラマ ID または無効なパノラマ ID を指定した場合に発生することがあります。[削除したパノラマ ID を更新する](#refresh-pano)をご覧ください。 |
"NOT_FOUND" |
location パラメータで指定された住所文字列が見つからなかったことを示します。このメッセージは、存在しないアドレスが指定された場合に表示される可能性があります。 |
"OVER_QUERY_LIMIT" |
この API の 1 日の割り当てまたは 1 秒あたりの割り当てを超過したことを示します。 |
"REQUEST_DENIED" |
リクエストが拒否されたことを示します。このメッセージは、リクエストを承認していない場合や、API キーを含む Google Cloud Console プロジェクトで Street View Static API が有効になっていない場合に表示されることがあります。 |
"INVALID_REQUEST" |
通常、クエリ パラメータ(住所、緯度と経度の座標、コンポーネント)が不足していることを示します。 |
"UNKNOWN_ERROR" |
サーバーエラーでリクエストが処理できなかったことを示します。多くの場合、この問題は一時的なものです。再度リクエストすると、成功する可能性があります。 |
詳細
Street View Static API や他の Google Maps API サービスの使い方について詳しくは、Maps API のサポートページをご覧ください。