﻿var map;var marker;var svclient;var svoverlay=null;function unloadPage(){GUnload();};function loadPage(){var mapDiv=eid("mapDiv");map=new GMap2(mapDiv);map.addControl(new GMapTypeControl());map.addControl(new GLargeMapControl3D());map.addControl(new GScaleControl());map.enableDoubleClickZoom();map.enableContinuousZoom();eid("xMap").value= -122.388581;eid("yMap").value=37.789536;eid("zMap").value=13;eid("wdMap").value=800;eid("htMap").value=400;eid("orbitHeading").value=0;eid("orbitRange").value=1000;eid("orbitAngle").value=45;eid("orbitSpeed").value=5;var x=parseFloat(eid("xMap").value);var y=parseFloat(eid("yMap").value);var z=parseInt(eid("zMap").value);var pt=new GLatLng(y,x);marker=new GMarker(pt,{"draggable":true,"title":"drag and drop"});map.addOverlay(marker);map.setCenter(pt,z);map.enableGoogleBar();svclient=new GStreetviewClient();GEvent.addListener(marker,"dragend",function(){point=marker.getLatLng();eid("xMap").value=formatFloat(point.lng(),6);eid("yMap").value=formatFloat(point.lat(),6);map.setCenter(point);});GEvent.addListener(map,"zoomend",function(){eid("zMap").value=map.getZoom();});GEvent.addListener(map,"moveend",function(){point=map.getCenter();eid("xMap").value=formatFloat(point.lng(),6);eid("yMap").value=formatFloat(point.lat(),6);marker.setLatLng(point);});showPreview(false);};function showPreview(J){var g=baseurl+"map.htm";var x=parseFloat(eid("xMap").value);var y=parseFloat(eid("yMap").value);var z=parseInt(eid("zMap").value);g+="?x="+formatFloat(x,6)+"&y="+formatFloat(y,6)+"&z="+z;var c=eid("controlSelect").selectedIndex;var d=eid("displaySelect").selectedIndex;g+="&c="+c;g+="&d="+d;var a=eid("adsSelect").selectedIndex;var s=eid("searchBarSelect").selectedIndex;var i=1+eid("initialModeSelect").selectedIndex;g+="&a="+a;g+="&s="+s;g+="&i="+i;var G=eid("optSat").checked;var B=eid("optHyb").checked;var F=eid("optPhy").checked;var l=eid("optGE").checked;var r=eid("optSV").checked;var C=eid("optBing").checked;var H=eid("optOSM").checked;var t=eid("optYahoo").checked;if(G&&B&&F&&l&&r&&C&&H&&t){}else{var f="";if(G)f+=",sat";if(B)f+=",hyb";if(F)f+=",phy";if(l)f+=",ge";if(r)f+=",sv";if(C)f+=",bing";if(H)f+=",osm";if(t)f+=",yahoo";if(f){f=f.substr(1);g+="&l="+f;}}if(l){var O=eid("orbitOn").selectedIndex;var Q=parseFloat(eid("orbitHeading").value);var M=parseInt(eid("orbitRange").value);var K=parseInt(eid("orbitAngle").value);var P=parseInt(eid("orbitSpeed").value);g+="&e="+O+","+Q+","+M+","+K+","+P;}var L=eid("streetviewAutoSelect").selectedIndex>0;if(L){var I="&v="+formatFloat(eid("streetX").value,6)+","+formatFloat(eid("streetY").value,6)+","+eid("streetHeading").value+","+eid("streetPitch").value+","+eid("streetZoom").value;g+=I;}var wd=parseInt(eid("wdMap").value);var ht=parseInt(eid("htMap").value);var v="<iframe style=\"width:"+wd+"px;height:"+ht+"px;padding:0;border:solid 1px black\" "+"src=\""+g+"\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\" scrolling=\"no\"></iframe>";eid("previewDiv").innerHTML=v;eid("scriptText").value=v;var A="<a href='"+g+"' target='_blank' title='Full Page Map'>Full Page Map</a>";eid("linkText").value=A;eid("linkSpan").innerHTML=A;if(J){document.location="#preview";}};function streetviewAutoSelectClick(a){var j=(a.selectedIndex>0)?false:true;eid("streetX").disabled=j;eid("streetY").disabled=j;eid("streetHeading").disabled=j;eid("streetPitch").disabled=j;eid("streetZoom").disabled=j;eid("streetFind").disabled=j;eid("svFrame").style.display=j?"none":"inline";if(!j){streetviewFindNearest();}if(!j){if(!svoverlay){svoverlay=new GStreetviewOverlay();GEvent.addListener(map,"click",function(ov,pt){if(!eid("streetFind").disabled&&pt){svclient.getNearestPanorama(pt,loadPanorama);}});}map.addOverlay(svoverlay);}else{if(svoverlay){map.removeOverlay(svoverlay);}}};function streetviewFindNearest(){svclient.getNearestPanorama(map.getCenter(),loadPanorama);};function loadPanorama(o){if(o&&o.location){var k=o.location.latlng;D=getBearing(k,map.getCenter());pan=new GStreetviewPanorama(eid("panDiv"));eid("streetX").value=k.lng();eid("streetY").value=k.lat();eid("streetHeading").value=D;eid("streetPitch").value=0;eid("streetZoom").value=0;GEvent.addListener(pan,"initialized",function(a){eid("streetX").value=a.latlng.lng();eid("streetY").value=a.latlng.lat();});GEvent.addListener(pan,"yawchanged",function(a){var h=parseFloat(a);eid("streetHeading").value=h;});GEvent.addListener(pan,"pitchchanged",function(a){var p=parseFloat(a);eid("streetPitch").value=p;});GEvent.addListener(pan,"zoomchanged",function(a){var z=parseInt(a);eid("streetZoom").value=z;});pan.setLocationAndPOV(k,{"yaw":D});}else{alert("Street View is not available here");}};function getBearing(p1,p2){var angle=null;if(p1!=null&&p2!=null&& !p1.equals(p2)){var y1=p1.latRadians();var x1=p1.lngRadians();var y2=p2.latRadians();var x2=p2.lngRadians();var a=Math.sin(x1-x2)*Math.cos(y2);var b=Math.cos(y1)*Math.sin(y2)-Math.sin(y1)*Math.cos(y2)*Math.cos(x1-x2);angle= -(Math.atan2(a,b));if(angle<0.0){angle+=Math.PI*2.0;}}return parseInt(angle*180.0/Math.PI);};function eid(id){return document.getElementById(id);};function formatFloat(n,d){var m=Math.pow(10,d);return parseInt(n*m,10)/m;}
