JAVASCRIPT   24

gevideo.js

Guest on 16th June 2022 01:31:11 AM

  1. var ge;
  2. var geHelpers_;
  3. /*
  4. var init;
  5.                
  6. var placemark1;
  7. var placemark2;
  8. var placemark2s;
  9. var placemark3;
  10.  
  11.  
  12. var model1;
  13. var model2;
  14. var model2s;
  15. var model3;
  16. */
  17. var cameraList;
  18. var modelList;
  19. var viewList;
  20.  
  21. var CAMERAICONDOWNURL = "http://google-maps-icons.googlecode.com/files/photodown.png";
  22. var CAMERAICONUPURL = "http://google-maps-icons.googlecode.com/files/photoup.png";
  23. //var directionsService = new google.maps.DirectionsService();
  24. //var directionsService = null;
  25.  
  26.  
  27. google.load("earth", "1");
  28.  
  29. function init() {
  30.   google.earth.createInstance('map3d', initCallback, failureCallback);
  31.  
  32.   addSampleButton('Birds eye!', buttonClick);
  33. }
  34.  
  35. function initCallback(instance) {
  36.         //init = 1;
  37.   ge = instance;
  38.  
  39.   geHelpers_ = new GEHelpers(ge);
  40.   ge.getWindow().setVisibility(true);
  41.  
  42.   // add a navigation control
  43.   ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
  44.  
  45.   // add some layers
  46.   ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
  47.   ge.getLayerRoot().enableLayerById(ge.LAYER_BUILDINGS, true);
  48.   //ge.getSun().setVisibility(true);
  49.   //ge.getOptions().setAtmosphereVisibility(true);
  50.   ge.getOptions().setScaleLegendVisibility(true);
  51.   ge.getOptions().setStatusBarVisibility(true);
  52.   //ge.getTime().setHistoricalImageryEnabled(true);
  53.  
  54.  
  55.   //create3dModelIni();
  56.  
  57.   /* initialize view over Pittsburgh */
  58.   var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  59.   la.setLatitude(40.43346237762932);
  60.   la.setLongitude(-80.0173172514702);
  61.   la.setTilt(0);
  62.   la.setHeading(0);
  63.   la.setRange(20000);
  64.  
  65.   ge.getView().setAbstractView(la);
  66.  
  67.   document.getElementById('installed-plugin-version').innerHTML =
  68.         ge.getPluginVersion().toString();
  69.  
  70.         /* initialize models */
  71.         initialize3dModels();
  72.         /* begin updating models */
  73.   timedCount();  
  74.  
  75.  
  76. }
  77.  
  78. function timedCount()
  79. {
  80.         update3dModels();
  81.         //create3dModel();
  82.         t=setTimeout("timedCount()",2500);
  83. }
  84.  
  85. function failureCallback(errorCode) {
  86. }
  87.  
  88. /* Read camera files and create all models, add to model array */
  89. function initialize3dModels() {
  90.         /* get camera directions */
  91.         getCameraDirections();
  92.         /* read xml file */
  93.         var xmlDoc = loadXMLDoc("cameras.xml");
  94.         cameraList = xmlDoc.getElementsByTagName("camera");
  95.         modelList = new Array();
  96.         for(var j = 0; j < cameraList.length; j ++) {
  97.                 createModel(cameraList[j]);
  98.         }
  99.        
  100.        
  101. }
  102.  
  103. function getCameraDirections() {
  104.         var xmlDoc = loadXMLDoc("views.xml");
  105.         viewList = xmlDoc.getElementsByTagName("camera");
  106. }
  107.  
  108. function loadXMLDoc(url)
  109. {
  110.         if (window.XMLHttpRequest)
  111.           {
  112.           xhttp=new XMLHttpRequest();
  113.           }
  114.         else
  115.           {
  116.           xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  117.           }
  118.         xhttp.open("GET",url,false);
  119.         xhttp.send();
  120.         return xhttp.responseXML;
  121. }
  122.  
  123. /* Iterate through array of models and update their images */
  124. function update3dModels() {
  125.  
  126.         var currentCamera = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  127.         document.getElementById('currentview').innerHTML = "Tilt: " + currentCamera.getTilt().toString() + " Altitude: " + currentCamera.getAltitude().toString() + " Longitude: " + currentCamera.getLongitude().toString() + " Latitude: " + currentCamera.getLatitude().toString();
  128.  
  129.         /* foreach camera:
  130.          * only need string + model? */
  131.         for(var i = 0; i < cameraList.length; i ++) {
  132.                 var link = ge.createLink('');
  133.                 var href = cameraList[i].getElementsByTagName("model_url")[0].textContent;
  134.                 link.setHref(href);
  135.                 modelList[i].setLink(link);
  136.         }
  137. }
  138.  
  139. function getView(imgHref) {
  140.         for(var i = 0; i < viewList.length; i ++) {
  141.                 var imgURL = viewList[i].getElementsByTagName("image_url")[0].textContent;
  142.                 if(imgURL == imgHref)
  143.                         return viewList[i].getElementsByTagName("view")[0].textContent;
  144.         }
  145.         return "";
  146. }
  147.  
  148. /* Create all Google earth objects associated with one camera
  149.  * Parameters: Name(description?), Heading, Sketchup file, Location (Latitude, Longitude),
  150.  * Direction?, Camera IMG URL, Camera: Latitude, Longitude, Tilt, Heading, Range */
  151. function createModel(camera) {
  152.         // Create a 3D model, initialize it from a Collada file, and place it
  153.         // in the world.
  154.         var sName = camera.getElementsByTagName("name")[0].textContent;
  155.         /* lookup model's view */
  156.        
  157.         var imgHref = camera.getElementsByTagName("image_url")[0].textContent;
  158.         var viewName = getView(imgHref);
  159.         var views = camera.getElementsByTagName("view");
  160.         var viewIndex = 0;
  161.         for(var i = 0; i < views.length; i ++) {
  162.                 if(views[i].getElementsByTagName("name")[0].textContent == viewName) {
  163.                         viewIndex = i;
  164.                         break;
  165.                 }
  166.         }
  167.         /* select correct icon */
  168.         var iconHref = CAMERAICONDOWNURL;
  169.         if(viewName == "Southbound")
  170.                 iconHref = CAMERAICONUPURL;
  171.         var nModel = camera.getElementsByTagName("model")[viewIndex];
  172.         var nLookat = camera.getElementsByTagName("lookat")[viewIndex];
  173.         //alert(viewName + "," + viewIndex);
  174.         var placemark = ge.createPlacemark('');
  175.         placemark.setName(sName);
  176.         var model = ge.createModel('');
  177.         ge.getFeatures().appendChild(placemark);
  178.         var loc = ge.createLocation('');
  179.         model.setLocation(loc);
  180.         var ori = ge.createOrientation('');
  181.        
  182.         var heading = parseInt(nModel.getElementsByTagName("heading")[0].textContent);
  183.        
  184.         ori.setHeading(heading);
  185.         model.setOrientation(ori);
  186.         var link = ge.createLink('');
  187.  
  188.         var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  189.  
  190.         // A textured model created in Sketchup and exported as Collada.
  191.         var href = camera.getElementsByTagName("model_url")[0].textContent;
  192.         link.setHref(href);
  193.  
  194.         var car = new Array();
  195.         car.model = model;
  196.         car.placemark = placemark;
  197.         model.setLink(link);
  198.         /* zoom */
  199.         var modelZoom = parseFloat(nModel.getElementsByTagName("zoom")[0].textContent);
  200.         var mScale = model.getScale();
  201.         mScale.setX(mScale.getX() * modelZoom);
  202.         mScale.setY(mScale.getY() * modelZoom);
  203.         var modelLatitude = parseFloat(nModel.getElementsByTagName("latitude")[0].textContent);
  204.         var modelLongitude = parseFloat(nModel.getElementsByTagName("longitude")[0].textContent);
  205.         loc.setLatitude(modelLatitude);
  206.         loc.setLongitude(modelLongitude);
  207.         placemark.setGeometry(model);
  208.        
  209.         // add model to array:
  210.         modelList.push(model);
  211.         // create the placemark Button
  212.         var pmButton = ge.createPlacemark('');
  213.  
  214.         var point = ge.createPoint('');
  215.         point.setLatitude(modelLatitude);
  216.         point.setLongitude(modelLongitude);
  217.         pmButton.setGeometry(point);
  218.  
  219.  
  220.         // Create a style map.
  221.         var styleMap = ge.createStyleMap('');
  222.  
  223.         // Create normal style for style map.
  224.         var normalStyle = ge.createStyle('');
  225.         var normalIcon = ge.createIcon('');
  226.        
  227.        
  228.         normalIcon.setHref(iconHref);
  229.         normalStyle.getIconStyle().setIcon(normalIcon);
  230.  
  231.         // Create highlight style for style map.
  232.         var highlightStyle = ge.createStyle('');
  233.         var highlightIcon = ge.createIcon('');
  234.        
  235.         highlightIcon.setHref(imgHref);
  236.         highlightStyle.getIconStyle().setIcon(highlightIcon);
  237.         highlightStyle.getIconStyle().setScale(2.0);
  238.  
  239.         styleMap.setNormalStyle(normalStyle);
  240.         styleMap.setHighlightStyle(highlightStyle);
  241.  
  242.         // Apply stylemap to a placemark.
  243.         pmButton.setStyleSelector(styleMap);
  244.  
  245.         // add the placemark to the earth DOM
  246.         ge.getFeatures().appendChild(pmButton);
  247.  
  248.        
  249.         google.earth.addEventListener(pmButton, 'click', function(event) {
  250.                 // Prevent the default balloon from appearing.
  251.                 event.preventDefault();
  252.  
  253.                 var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  254.                 var viewLatitude = parseFloat(nLookat.getElementsByTagName("latitude")[0].textContent);
  255.                 var viewLongitude = parseFloat(nLookat.getElementsByTagName("longitude")[0].textContent);
  256.                 var viewTilt = parseFloat(nLookat.getElementsByTagName("tilt")[0].textContent);
  257.                 var viewHeading = parseInt(nLookat.getElementsByTagName("heading")[0].textContent);
  258.                 var viewRange = parseInt(nLookat.getElementsByTagName("range")[0].textContent);
  259.                 la.setLatitude(viewLatitude);
  260.                 la.setLongitude(viewLongitude);
  261.                 la.setTilt(viewTilt);
  262.                 la.setHeading(viewHeading);
  263.                 la.setRange(viewRange);
  264.  
  265.                 ge.getView().setAbstractView(la);
  266.         });
  267.   ////////////////////////////////////////////////////////////
  268. }
  269.  
  270. function getValue(node, key) {
  271.         return (node.getElementsByTagName(key))[0].textContent;
  272. }
  273.  
  274. function create3dModel() {
  275.  
  276.  if (init==1){
  277.         // Create a 3D model, initialize it from a Collada file, and place it
  278.         // in the world.
  279.         placemark1 = ge.createPlacemark('');
  280.         placemark1.setName("model1");
  281.         model1 = ge.createModel('');
  282.         ge.getFeatures().appendChild(placemark1);
  283.         var loc1 = ge.createLocation('');
  284.         model1.setLocation(loc1);
  285.         var ori1 = ge.createOrientation('');
  286.         ori1.setHeading(140);
  287.         model1.setOrientation(ori1);
  288.         var link1 = ge.createLink('');
  289.  
  290.         var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  291.  
  292.         // A textured model created in Sketchup and exported as Collada.
  293.         link1.setHref("http://www.cmu.edu/vis/video/camera1.dae");
  294.  
  295.         var car1 = new Array();
  296.         car1.model = model1;
  297.         car1.placemark = placemark1;
  298.         model1.setLink(link1);
  299.         loc1.setLatitude(40.433714999827764);
  300.         loc1.setLongitude(-80.11024186884087 );
  301.         placemark1.setGeometry(model1);
  302.        
  303.         // create the placemark Button
  304.   placemarkb1 = ge.createPlacemark('');
  305.  
  306.   var point = ge.createPoint('');
  307.   point.setLatitude(40.433714999827764);
  308.   point.setLongitude(-80.11024186884087 );
  309.   placemarkb1.setGeometry(point);
  310.  
  311.  
  312.         // Create a style map.
  313.         var styleMap1 = ge.createStyleMap('');
  314.  
  315.         // Create normal style for style map.
  316.         var normalStyle1 = ge.createStyle('');
  317.         var normalIcon1 = ge.createIcon('');
  318.         normalIcon1.setHref('http://google-maps-icons.googlecode.com/files/photodown.png');
  319.         normalStyle1.getIconStyle().setIcon(normalIcon1);
  320.  
  321.         // Create highlight style for style map.
  322.         var highlightStyle1 = ge.createStyle('');
  323.         var highlightIcon1 = ge.createIcon('');
  324.         highlightIcon1.setHref('http://www.dot35.state.pa.us/public/Districts/District11/WebCams/D11-605.jpg');
  325.         highlightStyle1.getIconStyle().setIcon(highlightIcon1);
  326.         highlightStyle1.getIconStyle().setScale(2.0);
  327.  
  328.         styleMap1.setNormalStyle(normalStyle1);
  329.         styleMap1.setHighlightStyle(highlightStyle1);
  330.  
  331.         // Apply stylemap to a placemark.
  332.         placemarkb1.setStyleSelector(styleMap1);
  333.  
  334.   // add the placemark to the earth DOM
  335.   ge.getFeatures().appendChild(placemarkb1);
  336.  
  337.        
  338.         google.earth.addEventListener(placemarkb1, 'click', function(event) {
  339.                 // Prevent the default balloon from appearing.
  340.                 event.preventDefault();
  341.  
  342.                 var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  343.                 la.setLatitude(40.4345406494454);
  344.                 la.setLongitude(-80.11078134543826);
  345.                 la.setTilt(67.2967669601648 );
  346.                 la.setHeading(165);
  347.                 la.setRange(40);
  348.  
  349.                 ge.getView().setAbstractView(la);
  350.         });
  351.   ////////////////////////////////////////////////////////////
  352.         placemark2 = ge.createPlacemark('');
  353.         placemark2.setName("model2");
  354.         model2 = ge.createModel('');
  355.         ge.getFeatures().appendChild(placemark2);
  356.         var loc2 = ge.createLocation('');
  357.         model2.setLocation(loc2);
  358.         var ori2 = ge.createOrientation('');
  359.         ori2.setHeading(0);
  360.         model2.setOrientation(ori2);
  361.         var link2 = ge.createLink('');
  362.         // A textured model created in Sketchup and exported as Collada.
  363.         link2.setHref("http://www.cmu.edu/vis/video/camera2.dae");
  364.  
  365.         var car2 = new Array();
  366.         car2.model = model2;
  367.         car2.placemark = placemark2;
  368.         model2.setLink(link2);
  369.         loc2.setLatitude(40.45069303613354);
  370.         loc2.setLongitude(-80.1108431548594);
  371.         placemark2.setGeometry(model2);
  372.        
  373.        
  374.         // create the placemark Button
  375.   placemarkb2 = ge.createPlacemark('');
  376.  
  377.   var point = ge.createPoint('');
  378.   point.setLatitude(40.45069303613354);
  379.   point.setLongitude(-80.1108431548594);
  380.   placemarkb2.setGeometry(point);
  381.  
  382.          // Create a style map.
  383.         var styleMap2 = ge.createStyleMap('');
  384.  
  385.         // Create normal style for style map.
  386.         var normalStyle2 = ge.createStyle('');
  387.         var normalIcon2 = ge.createIcon('');
  388.         normalIcon2.setHref('http://google-maps-icons.googlecode.com/files/photoup.png');
  389.         normalStyle2.getIconStyle().setIcon(normalIcon2);
  390.  
  391.         // Create highlight style for style map.
  392.         var highlightStyle2 = ge.createStyle('');
  393.         var highlightIcon2 = ge.createIcon('');
  394.         highlightIcon2.setHref('http://www.dot35.state.pa.us/public/Districts/District11/WebCams/D11-610.jpg');
  395.         highlightStyle2.getIconStyle().setIcon(highlightIcon2);
  396.         highlightStyle2.getIconStyle().setScale(2.0);
  397.  
  398.         styleMap2.setNormalStyle(normalStyle2);
  399.         styleMap2.setHighlightStyle(highlightStyle2);
  400.  
  401.         // Apply stylemap to a placemark.
  402.         placemarkb2.setStyleSelector(styleMap2);
  403.  
  404.   // add the placemark to the earth DOM
  405.   ge.getFeatures().appendChild(placemarkb2);
  406.  
  407.        
  408.         google.earth.addEventListener(placemarkb2, 'click', function(event) {
  409.                 // Prevent the default balloon from appearing.
  410.                 event.preventDefault();
  411.  
  412.                 var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  413.                  la.setLatitude(40.45083627184732);
  414.                 la.setLongitude(-80.1109844995387);
  415.                 la.setTilt(70.26032093626698 );
  416.                 la.setHeading(0);
  417.                 la.setRange(48);
  418.  
  419.                 ge.getView().setAbstractView(la);
  420.         });
  421.  
  422.   ////////////////////////////////////////////////////////////
  423.         placemark2s = ge.createPlacemark('');
  424.         placemark2s.setName("model2s");
  425.         model2s = ge.createModel('');
  426.         ge.getFeatures().appendChild(placemark2s);
  427.         var loc2s = ge.createLocation('');
  428.         model2s.setLocation(loc2s);
  429.         var ori2s = ge.createOrientation('');
  430.         ori2s.setHeading(180);
  431.         model2s.setOrientation(ori2s);
  432.         var link2s = ge.createLink('');
  433.         // A textured model created in Sketchup and exported as Collada.
  434.         link2s.setHref("http://www.cmu.edu/vis/video/camera2.dae");
  435.  
  436.         var car2s = new Array();
  437.         car2s.model = model2s;
  438.         car2s.placemark = placemark2s;
  439.         model2s.setLink(link2s);
  440.         loc2s.setLatitude(40.44977701019319);
  441.         loc2s.setLongitude( -80.11104025634937);
  442.         placemark2s.setGeometry(model2s);
  443.        
  444.        
  445.         // create the placemark Button
  446.   placemarkb2s = ge.createPlacemark('');
  447.  
  448.   var point = ge.createPoint('');
  449.   point.setLatitude(40.44977701019319);
  450.   point.setLongitude( -80.11104025634937);
  451.   placemarkb2s.setGeometry(point);
  452.  
  453.   // Create a style map.
  454.         var styleMap2s = ge.createStyleMap('');
  455.  
  456.         // Create normal style for style map.
  457.         var normalStyle2s = ge.createStyle('');
  458.         var normalIcon2s = ge.createIcon('');
  459.         normalIcon2s.setHref('http://google-maps-icons.googlecode.com/files/photodown.png');
  460.         normalStyle2s.getIconStyle().setIcon(normalIcon2s);
  461.  
  462.         // Create highlight style for style map.
  463.         var highlightStyle2s = ge.createStyle('');
  464.         var highlightIcon2s = ge.createIcon('');
  465.         highlightIcon2s.setHref('http://www.dot35.state.pa.us/public/Districts/District11/WebCams/D11-610.jpg');
  466.         highlightStyle2s.getIconStyle().setIcon(highlightIcon2s);
  467.         highlightStyle2s.getIconStyle().setScale(2.0);
  468.  
  469.         styleMap2s.setNormalStyle(normalStyle2s);
  470.         styleMap2s.setHighlightStyle(highlightStyle2s);
  471.  
  472.         // Apply stylemap to a placemark.
  473.         placemarkb2s.setStyleSelector(styleMap2s);
  474.  
  475.  
  476.   // add the placemark to the earth DOM
  477.   ge.getFeatures().appendChild(placemarkb2s);
  478.  
  479.        
  480.         google.earth.addEventListener(placemarkb2s, 'click', function(event) {
  481.                 // Prevent the default balloon from appearing.
  482.                 event.preventDefault();
  483.  
  484.                 var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  485.                  la.setLatitude(40.449638480064394);
  486.                 la.setLongitude(-80.11090778784572);
  487.                 la.setTilt(74.70601877454101);
  488.                 la.setHeading(180);
  489.                 la.setRange(56);
  490.  
  491.                 ge.getView().setAbstractView(la);
  492.         });
  493.  
  494.  
  495.   ////////////////////////////////////////////////////////////
  496.         placemark3 = ge.createPlacemark('');
  497.         placemark3.setName("model3");
  498.         model3 = ge.createModel('');
  499.         ge.getFeatures().appendChild(placemark3);
  500.         var loc3 = ge.createLocation('');
  501.         model3.setLocation(loc3);
  502.         var ori3 = ge.createOrientation('');
  503.         ori3.setHeading(180);
  504.         model3.setOrientation(ori3);
  505.         var link3 = ge.createLink('');
  506.         // A textured model created in Sketchup and exported as Collada.
  507.         link3.setHref("http://www.cmu.edu/vis/video/camera3.dae");
  508.  
  509.         var car3 = new Array();
  510.         car3.model = model3;
  511.         car3.placemark = placemark3;
  512.         model3.setLink(link3);
  513.         loc3.setLatitude(40.46549556059307);
  514.         loc3.setLongitude(-80.11198023280035);
  515.  
  516.         placemark3.setGeometry(model3);
  517.        
  518.         // create the placemark Button
  519.   placemarkb3 = ge.createPlacemark('');
  520.  
  521.   var point = ge.createPoint('');
  522.   point.setLatitude(40.46549556059307);
  523.   point.setLongitude(-80.11198023280035);
  524.   placemarkb3.setGeometry(point);
  525.  
  526.   // Create a style map.
  527.         var styleMap3 = ge.createStyleMap('');
  528.  
  529.         // Create normal style for style map.
  530.         var normalStyle3 = ge.createStyle('');
  531.         var normalIcon3 = ge.createIcon('');
  532.         normalIcon3.setHref('http://google-maps-icons.googlecode.com/files/photodown.png');
  533.         normalStyle3.getIconStyle().setIcon(normalIcon3);
  534.  
  535.         // Create highlight style for style map.
  536.         var highlightStyle3 = ge.createStyle('');
  537.         var highlightIcon3 = ge.createIcon('');
  538.         highlightIcon3.setHref('http://www.dot35.state.pa.us/public/Districts/District11/WebCams/D11-612.jpg');
  539.         highlightStyle3.getIconStyle().setIcon(highlightIcon3);
  540.         highlightStyle3.getIconStyle().setScale(2.0);
  541.  
  542.         styleMap3.setNormalStyle(normalStyle3);
  543.         styleMap3.setHighlightStyle(highlightStyle3);
  544.  
  545.         // Apply stylemap to a placemark.
  546.         placemarkb3.setStyleSelector(styleMap3);
  547.  
  548.  
  549.   // add the placemark to the earth DOM
  550.   ge.getFeatures().appendChild(placemarkb3);
  551.  
  552.        
  553.         google.earth.addEventListener(placemarkb3, 'click', function(event) {
  554.                 // Prevent the default balloon from appearing.
  555.                 event.preventDefault();
  556.  
  557.                 var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  558.                  la.setLatitude(40.46508842540561);
  559.                 la.setLongitude(-80.11185727742705);
  560.                 la.setTilt(70.11096303583611);
  561.                 la.setHeading(180);
  562.                 la.setRange(83);
  563.  
  564.                 ge.getView().setAbstractView(la);
  565.         });
  566.  
  567.         init = 0;
  568.   }
  569.   else{        
  570.        
  571.         var currentCamera = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  572.         document.getElementById('currentview').innerHTML = "Tilt: " + currentCamera.getTilt().toString() + " Altitude: " + currentCamera.getAltitude().toString() + " Longitude: " + currentCamera.getLongitude().toString() + " Latitude: " + currentCamera.getLatitude().toString();
  573.        
  574.        
  575.         var link1 = ge.createLink('');
  576.         link1.setHref("http://www.cmu.edu/vis/video/camera1.dae");
  577.         model1.setLink(link1);
  578.         //placemark1.setGeometry(model1);
  579.        
  580.         var link2 = ge.createLink('');
  581.         link2.setHref("http://www.cmu.edu/vis/video/camera2.dae");
  582.         model2.setLink(link2);
  583.         //placemark2.setGeometry(model2);
  584.        
  585.         var link2s = ge.createLink('');
  586.         link2s.setHref("http://www.cmu.edu/vis/video/camera2.dae");
  587.         model2s.setLink(link2s);
  588.         //placemark2.setGeometry(model2);
  589.        
  590.         var link3 = ge.createLink('');
  591.         link3.setHref("http://www.cmu.edu/vis/video/camera3.dae");
  592.         model3.setLink(link3);
  593.         //placemark3.setGeometry(model3);
  594.   }
  595. }
  596.  
  597. function log(msg) {
  598.         setTimeout(function() {
  599.                 throw new Error(msg);
  600.         }, 0);
  601. }
  602.  
  603. function buttonClick() {
  604.    var la = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
  605.   la.setLatitude(40.43346237762932);
  606.   la.setLongitude(-80.0173172514702);
  607.   la.setTilt(0);
  608.   la.setHeading(0);
  609.   la.setRange(20000);
  610.  
  611.   ge.getView().setAbstractView(la);
  612. }
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620. function newAjax(){
  621.    var xmlhttp=false;
  622.         try {
  623.                         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  624.         } catch (e) {
  625.                         try {
  626.                                         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  627.                         } catch (E) {
  628.                                         xmlhttp = false;
  629.                         }
  630.          }
  631.  
  632.    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  633.                         xmlhttp = new XMLHttpRequest();
  634.    }
  635.    return xmlhttp;
  636. }
  637.  
  638. function loadContent(url, container){
  639.    ajax=newAjax();
  640.    ajax.open("GET", url,true);
  641.    ajax.onreadystatechange=function() {
  642.                    if (ajax.readyState==4 && this.status != 200) {
  643.                                    container.innerHTML = ajax.responseXML
  644.                    }
  645.    }
  646.         ajax.send("");
  647. }

Raw Paste


Login or Register to edit or fork this paste. It's free.