ストリートビューのリクエストとレスポンス

ストリートビュー画像リクエストは、次の形式の HTTP URL です。

https://maps.googleapis.com/maps/api/streetview?parameters

画像は、リクエスト パラメータを使用して指定します。URL の標準と同様に、すべてのパラメータはアンパサンド(&)文字を使用して区切ります。使用可能なパラメータとその有効な値のリストを次に示します。

必須パラメータ

次のいずれかを実行します。

  • location には、テキスト文字列(Chagrin Falls, OH など)または緯度と経度の座標のペア(40.457375,-80.009353)のいずれかを指定できます。URL エンコードする必要があります。そのため、リクエストを送信する前に「City Hall, New York, NY」のような住所を「City+Hall,New+York,NY」に変換してください。Street View Static API は、その場所に最も近いパノラマ写真にスナップします。住所のテキスト文字列を指定すると、API は指定された場所を適切に表示するために、別のカメラの位置情報を使用することがあります。緯度と経度の座標を指定すると、API は半径 50 m で、その場所に最も近い写真を検索します。ストリートビューの画像は定期的に更新され、毎回わずかに異なる位置から撮影されることがあるため、画像の更新時に location が異なるパノラマにスナップする可能性があります。

または

  • pano は特定のパノラマ ID です。パノラマの ID は時間の経過とともに変化する可能性があるため、この ID は保持しないでください。代わりに、パノラマ ID を更新できるように、位置の住所または緯度と経度の座標を保存します。詳しくは、削除されたパノラマ ID を更新するをご覧ください。

さらに:

  • size には、画像の出力サイズをピクセル単位で指定します。サイズは {width}x{height} として指定します。たとえば、size=600x400 は幅 600 ピクセル、高さ 400 ピクセルの画像を返します。
  • key を使用すると、Google Cloud コンソールでアプリケーションの API 使用状況をモニタリングできます。また、必要に応じてアプリケーションについて Google から連絡を受けることができます。詳しくは、鍵と署名を取得するをご覧ください。

削除したパノラマ ID を更新する

パノラマ ID を取得しようとして、ZERO_RESULTS または値なしのいずれかを取得しようとした場合、パノラマ ID は削除されているため、更新する必要があります。

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

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

省略可能なパラメータ

  • signature(推奨)は、API キーを使用してリクエストを生成するサイトに、そのリクエストが承認されていることを検証するために使用するデジタル署名です。デジタル署名を含まないリクエストは失敗する可能性があります。詳細については、鍵と署名を取得するをご覧ください。

    注: 以前 Google Maps Platform プレミアム プランのお客様には、デジタル署名が必要です。詳細については、プレミアム プランのお客様の認証パラメータをご覧ください。

  • heading は、カメラのコンパス方位を示します。指定できる値は 0360 です(どちらの値も北を示し、90 は東を、180 は南を示します)。方位を指定しない場合は、指定された location の方向にカメラを向ける値が計算されます。このとき、最も近い写真が撮影された位置が起点となります。
  • fovデフォルトは 90)は度数で表される画像の水平方向の画角を指定します。最大許容値は 120 です。固定サイズのビューポートを処理する場合、設定したサイズのストリートビュー画像と同様に、画角は基本的にズームを表します。数値が小さいほどズームレベルが高くなります。


    水槽の中の天井、壁、床、水槽の窓など、広範囲を写したスクリーンショット。 水槽内のストリートビュー写真をズームインした細部を示す、画角のクローズアップ スクリーンショットのスクリーンショット。
    (左: fov=120、右: fov=20

  • pitch(デフォルトは 0): ストリートビュー車両に対するカメラの上下の角度を指定します。通常は水平ですが、常にそうであるとは限りません。正の値ではカメラが上向き(90 度は真上)し、負の値ではカメラが下向き(-90 は真下)です。
  • radius(デフォルトは 50: パノラマを検索する半径をメートル単位で設定します。指定された緯度と経度を中心とした半径になります。有効な値は正の整数です。
  • return_error_code は、画像が見つからない場合(404 NOT FOUND)または無効なリクエスト(400 BAD REQUEST)の場合に API がエラーコードを返すかどうかを示します。有効な値は truefalse です。true に設定すると、汎用のグレーの画像の代わりにエラー メッセージが返されます。これにより、イメージの可用性を確認するために別途呼び出しを行う必要がなくなります。
  • sourceデフォルトは default): ストリートビューの検索対象を選択したソースに限定します。有効な値は次のとおりです。
    • default: ストリートビューのデフォルトのソースを使用します。検索対象が特定のソースに限定されません。
    • outdoor では、検索対象を屋外のコレクションのみに限定します。屋内のコレクションは検索結果に含まれません。指定された場所の屋外のパノラマが存在しない場合があります。また、屋内と屋外のどちらであるかを判断できるパノラマのみが返されます。たとえば、PhotoSphere が屋内か屋外か不明なため、PhotoSphere は返されません。

以下はリクエストの例です。

https://maps.googleapis.com/maps/api/streetview?size=600x300&location=46.414382,10.013988&heading=151.78&pitch=-0.76&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
電化の線路をストリートビューで撮影したスクリーンショット。

使用できる画像がない場合

ストリートビューの画像が利用できない場所の場合、Street View Static API は、次の例に示すように、グレーの汎用的な画像に「Enroll no images here.」というテキストを返します。

指定した場所の画像がない場合に表示される汎用画像のスクリーンショット。背景は明るい茶色で、「画像はありません」というテキストが表示されています。
図: 指定した場所の画像がない場合に表示される汎用画像

有効な画像のみを表示

汎用的な画像が表示されないようにし、ウェブページに有効な Street View Static API の画像のみが表示されるようにするには、次の方法をおすすめします。

  • return_error_code パラメータを true に設定します。これにより、指定された場所に対応する画像がない場合、Street View Static API は汎用的なグレーの画像の代わりに 404 NOT FOUND エラーを返します。
  • リクエストを送信する前に、ストリートビューの画像メタデータをリクエストして、指定された場所に表示できる画像があるかどうかを確認します。