mirror of
https://github.com/NASAWorldWind/WebWorldWind.git
synced 2026-01-25 15:23:04 +00:00
KML reload example
This commit is contained in:
parent
685b44d15a
commit
263db0ae05
52
examples/KMLRefresh.html
Normal file
52
examples/KMLRefresh.html
Normal file
@ -0,0 +1,52 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!--NOTE: Most Web World Wind examples use jquery, Bootstrap and requirejs but those technologies are NOT-->
|
||||
<!--required by Web World Wind. See SimplestExample.html for an example of using Web World Wind without them.-->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
|
||||
<script data-main="KMLRefresh" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.17/require.min.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="jumbotron hidden-xs">
|
||||
<h1 style="text-align:center">WorldWind KML Refresh Example</h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<h4>Projection</h4>
|
||||
<div class="dropdown" id="projectionDropdown">
|
||||
</div>
|
||||
<br>
|
||||
<h4>Layers</h4>
|
||||
<div class="list-group" id="layerList">
|
||||
</div>
|
||||
<br>
|
||||
<h4>Destination</h4>
|
||||
<div class="input-group" id="searchBox">
|
||||
<input type="text" class="form-control" placeholder="GoTo" id="searchText"/>
|
||||
<span class="input-group-btn">
|
||||
<button id="searchButton" class="btn btn-primary" type="button">
|
||||
<span class="glyphicon glyphicon-search"></span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<h4>Switch KML files</h4>
|
||||
<div>
|
||||
<input type="button" id="switchKML" value="Switch" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9" id="globe">
|
||||
<canvas id="canvasOne" width="1000" height="1000"
|
||||
style="width: 100%; height: auto; background-color: black;">
|
||||
Your browser does not support HTML5 Canvas.
|
||||
</canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
94
examples/KMLRefresh.js
Normal file
94
examples/KMLRefresh.js
Normal file
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Copyright 2003-2006, 2009, 2017, 2020 United States Government, as represented
|
||||
* by the Administrator of the National Aeronautics and Space Administration.
|
||||
* All rights reserved.
|
||||
*
|
||||
* The NASAWorldWind/WebWorldWind platform is licensed under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License
|
||||
* at http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed
|
||||
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations under the License.
|
||||
*
|
||||
* NASAWorldWind/WebWorldWind also contains the following 3rd party Open Source
|
||||
* software:
|
||||
*
|
||||
* ES6-Promise – under MIT License
|
||||
* libtess.js – SGI Free Software License B
|
||||
* Proj4 – under MIT License
|
||||
* JSZip – under MIT License
|
||||
*
|
||||
* A complete listing of 3rd Party software notices and licenses included in
|
||||
* WebWorldWind can be found in the WebWorldWind 3rd-party notices and licenses
|
||||
* PDF found in code directory.
|
||||
*/
|
||||
/**
|
||||
* Illustrates how to refresh KML files
|
||||
*/
|
||||
requirejs(['./WorldWindShim',
|
||||
'./LayerManager'],
|
||||
function (WorldWind,
|
||||
LayerManager) {
|
||||
"use strict";
|
||||
|
||||
// Tell WorldWind to log only warnings and errors.
|
||||
WorldWind.Logger.setLoggingLevel(WorldWind.Logger.LEVEL_WARNING);
|
||||
|
||||
// Create the WorldWindow.
|
||||
var wwd = new WorldWind.WorldWindow("canvasOne");
|
||||
|
||||
// Create and add layers to the WorldWindow.
|
||||
var layers = [
|
||||
// Imagery layer.
|
||||
{layer: new WorldWind.BMNGLayer(), enabled: true},
|
||||
// Add atmosphere layer on top of base layer.
|
||||
{layer: new WorldWind.AtmosphereLayer(), enabled: true},
|
||||
// WorldWindow UI layers.
|
||||
{layer: new WorldWind.CompassLayer(), enabled: true},
|
||||
{layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true},
|
||||
{layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}
|
||||
];
|
||||
|
||||
for (var l = 0; l < layers.length; l++) {
|
||||
layers[l].layer.enabled = layers[l].enabled;
|
||||
wwd.addLayer(layers[l].layer);
|
||||
}
|
||||
|
||||
var kmlLayer = new WorldWind.RenderableLayer("KML");
|
||||
wwd.addLayer(kmlLayer);
|
||||
var kmlFilePromise = new WorldWind.KmlFile('data/etnaOverlay.kml');
|
||||
var displayedKML = null;
|
||||
var normalKML = null;
|
||||
kmlFilePromise.then(function (kmlFile) {
|
||||
kmlLayer.addRenderable(kmlFile);
|
||||
normalKML = kmlFile;
|
||||
displayedKML = kmlFile;
|
||||
wwd.redraw();
|
||||
wwd.goTo(new WorldWind.Position(37.58543388598137, 14.97128369746704, 90000));
|
||||
});
|
||||
kmlFilePromise = new WorldWind.KmlFile('data/etnaOverlay-shifted.kml');
|
||||
var shiftedKML = null;
|
||||
kmlFilePromise.then(function (kmlFile) {
|
||||
shiftedKML = kmlFile;
|
||||
});
|
||||
$('#switchKML').click(function () {
|
||||
if (normalKML && shiftedKML) {
|
||||
kmlLayer.removeRenderable(displayedKML);
|
||||
if (displayedKML == normalKML) {
|
||||
kmlLayer.addRenderable(shiftedKML);
|
||||
displayedKML = shiftedKML;
|
||||
} else {
|
||||
kmlLayer.addRenderable(normalKML);
|
||||
displayedKML = normalKML;
|
||||
}
|
||||
wwd.redraw();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Create a layer manager for controlling layer visibility.
|
||||
var layerManager = new LayerManager(wwd);
|
||||
});
|
||||
29
examples/data/etnaOverlay-shifted.kml
Normal file
29
examples/data/etnaOverlay-shifted.kml
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kml xmlns="http://www.opengis.net/kml/2.2">
|
||||
<Document>
|
||||
<name>KML Samples</name>
|
||||
<visibility>1</visibility>
|
||||
<open>1</open>
|
||||
<description>Unleash your creativity with the help of these examples!</description>
|
||||
<Folder>
|
||||
<name>Ground Overlays</name>
|
||||
<description>Examples of ground overlays</description>
|
||||
<GroundOverlay>
|
||||
<name>Large-scale overlay on terrain</name>
|
||||
<description>Overlay shows Mount Etna erupting
|
||||
on July 13th, 2001.
|
||||
</description>
|
||||
<Icon>
|
||||
<href>data/etna.jpg</href>
|
||||
</Icon>
|
||||
<LatLonBox>
|
||||
<north>38.01904192681665</north>
|
||||
<south>37.56543388598137</south>
|
||||
<east>15.45832653742206</east>
|
||||
<west>14.70128369746704</west>
|
||||
<rotation>-0.1556640799496235</rotation>
|
||||
</LatLonBox>
|
||||
</GroundOverlay>
|
||||
</Folder>
|
||||
</Document>
|
||||
</kml>
|
||||
Loading…
x
Reference in New Issue
Block a user