ストリートビュー画像のメタデータ

はじめに

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 を更新するをご覧ください。

さらに:

  • keysignature - リクエストの認証には 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 は削除されているため、更新する必要があります。

  1. パノラマ ID の取得に使用した場所の住所または緯度と経度の座標を保存し、必要に応じて更新できるようにします。

  2. パノラマ ID の変更を検出したら、元の場所の住所または緯度と経度の座標を使用して、その場所に最も近いパノラマを再度検索し、新しいパノラマ ID を取得します。

メタデータ リクエストの省略可能なパラメータ

メタデータ リクエストには、sizeheadingfovpitch のパラメータを含めることができます。これらのパラメータは、パノラマに関するデータや検出されるパノラマ画像には影響しません。この 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-Panorama)をご覧ください。
"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 のサポートページをご覧ください。