Google Maps API - Street View Panorama Pano Id Viewer
Jump to navigation
Jump to search
About
NOTE: This page is a daughter page of: Google Maps API
This piece of code allows you view a particular pano id... in this case "RJd2HuqmShMAAAQfCa3ulg
" - a nice aerial panorama above Kiev, Ukraine. You can get pano ids by carefully extracting this string pattern from the URL when viewing a pano in Google maps (typically just after /data=...!1s
).
The code below uses the StreetViewPanorama object from the Google Maps API and was based on this example which feeds in a lat/lng instead of a pano id. For my purposes pano is more predictable if I like a pano... the lat/lng just snaps the the nearest one, which may change over time.
Showing a Particular Street View Panorama (by pano id)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Street View, Render Particular Pano Id</title>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script>
/**
* Sets all our panos to point in a particular direction.
*/
function initializeAllPanos() {
panoId = 'RJd2HuqmShMAAAQfCa3ulg'
setStreetViewPanorama('panoBig', panoId, 0, -90);
setStreetViewPanorama('pano1', panoId, 0, 0);
setStreetViewPanorama('pano2', panoId, 180, 0);
}
/**
* Sets up the given div as a StreetView Panorama, with the given view angles.
* @param {string} panoId The panorama id. Eg: 'RJd2HuqmShMAAAQfCa3ulg'.
* @param {number} headingAngle The degree angle offset from North (clockwise?).
* @param {number} pitchAngle The degree angle upset up/down.
*/
function setStreetViewPanorama(divId, panoId, headingAngle, pitchAngle) {
var panoramaOptions = {
// pano: panoId, // Wanted to demonstrate 'setPano' instead.
pov: {
heading: headingAngle,
pitch: pitchAngle,
zoom: 1
}
};
var panorama = new google.maps.StreetViewPanorama(document.getElementById(divId), panoramaOptions);
panorama.setPano(panoId);
}
google.maps.event.addDomListener(window, 'load', initializeAllPanos);
</script>
</head>
<body>
<div id="panoBig" style="width: 600px; height: 600px;"></div>
Smaller views:<br>
<div id="pano1" style="width: 200px; height: 200px; display: inline-block;"></div>
<div id="pano2" style="width: 200px; height: 200px; display: inline-block;"></div>
</body>
</html>
<!-- ACKNOWLEDGEMENTS:
Based on code from: https://developers.google.com/maps/documentation/javascript/examples/streetview-simple !-->
See Also
- Google Maps API - Embedding Panoramas - different options, like iframe etc.