Google Maps JavaScript API を使えば、地図上の任意の地点に対応するパノラマ(ストリートビュー)をページ内に埋め込んで表示できます。
施設紹介や目的地の視認性を高めるのに有効です。
■ Street Viewを埋め込むためのデータ取得
指定した座標のパノラマビューを表示するためには、まず表示画像のデータを取得します。
JavaScript
<script>
let map, panorama;
function initMap() {
const location = { lat: 35.681236, lng: 139.767125 }; // 東京駅周辺
map = new google.maps.Map(document.getElementById("map"), {
center: location,
zoom: 17,
streetViewControl: true,
});
panorama = map.getStreetView();
// ストリートビューが開いた時に実行
panorama.addListener('visible_changed', () => {
if (panorama.getVisible()) {
console.log("ストリートビューが開きました");
panorama.addListener('position_changed', () => {
console.log('位置:', panorama.getPosition().toJSON());
});
panorama.addListener('pov_changed', () => {
console.log('向き:', panorama.getPov());
});
panorama.addListener('pano_changed', () => {
const panoId = panorama.getPano();
console.log('pano ID:', panoId);
});
}
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap" async defer></script>
上記のスクリプトで画像を表示すると、ブラウザの検証画面では以下のように表示されます。

特定ストリートビューの必須3項目
| 位置(position) | panorama.getPosition().toJSON()* |
| 向き(pov: Point of View) | panorama.getPov() |
| パノラマID(pano ID) | panorama.getPano() |
*toJSON()を使うことにより、{ lat: 35.681236, lng: 139.767125 }のようなプレーンなJavaScriptオブジェクトとして取得可能
■ 地図と連動してストリートビューを表示する
上記のサンプルで表示している国会議事堂のストリートビューのプログラム
<script>
let map, panorama;
function initMap() {
const location = { lat: 35.67622417551649, lng: 139.74743662252516 };
const panoId = 'We4D3edWIDN90wM1h80wbA';
map = new google.maps.Map(document.getElementById("map"), {
center: location,
zoom: 17,
streetViewControl: true, // ← 左上に「戻る」UI出ます
});
panorama = map.getStreetView();
// 初期状態でストリートビュー表示
panorama.setPano(panoId);
panorama.setPov({
heading: 259.15708874902856,
pitch: 5.4499223462343735,
zoom: 1
});
panorama.setVisible(true); // ← ここでSV表示
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>
■ Street View の制御(向き・ズームなど)
pov パラメータで、表示方向を細かく制御できます。
| プロパティ | 内容 |
|---|---|
| heading | カメラの向き(0〜360度。0は北) |
| pitch | 上下の角度(-90〜90度) |
| zoom | ズームレベル(1が標準) |
例:北向き(heading: 0)で上を向く
活用シーン
多彩な表示が可能です。実装したいものがあればお問い合わせください。
