From ad982c0cdeb60a76756be3090278e49c1d00cd35 Mon Sep 17 00:00:00 2001 From: Keith Irwin Date: Mon, 7 Aug 2017 12:07:39 -0400 Subject: [PATCH] Fixed stationary headings --- script.js | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/script.js b/script.js index 09e3e45..7e2f53f 100644 --- a/script.js +++ b/script.js @@ -5,14 +5,16 @@ var pano, newLoc; // Create panorama function init(){ - pano = new google.maps.StreetViewPanorama(document.getElementsByTagName('main')[0], { - panControl: false, - zoomControl: false, - addressControl: false, - linksControl: false, - motionTracking: false, - motionTrackingControl: false - }); + pano = new google.maps.StreetViewPanorama( + document.getElementsByTagName('main')[0], { + panControl: false, + zoomControl: false, + addressControl: false, + linksControl: false, + motionTracking: false, + motionTrackingControl: false + } + ); } // Get street view imagery @@ -38,7 +40,9 @@ function getStreetViewData(loc,rad,cb) { break; // Error default: - console.error(new Error('❌️ Street view not available: '+status).message); + console.error(new Error( + '❌️ Street view not available: '+status + ).message); } }); } } @@ -54,12 +58,26 @@ function updateStreetView(loc){ // Panorma has loaded else { - // Set panorama + + // Get streetview data getStreetViewData(loc, 2, function(data){ + + // Calculate bearing + var brng; + + if (loc.spd>1){ + brng = loc.dir; + } + else { //https://stackoverflow.com/a/26609687/3006854 + brng = Math.atan2( loc.lat-data.location.latLng.lat(), loc.lon-data.location.latLng.lng() ); + brng = 450-(brng*(180/Math.PI)+360)%360; + } + + // Set panorama pano.setPano(data.location.pano); pano.setPov({ pitch: 0, - heading: (loc.spd>1)?loc.dir:Math.atan((loc.lon-data.location.latLng.lng())/(loc.lat-data.location.latLng.lat()))*(180/Math.PI) + heading: brng }); });