+
+
\ No newline at end of file
diff --git a/examples/KMLRefresh.js b/examples/KMLRefresh.js
new file mode 100644
index 00000000..4ffb331f
--- /dev/null
+++ b/examples/KMLRefresh.js
@@ -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);
+ });
\ No newline at end of file
diff --git a/examples/data/etnaOverlay-shifted.kml b/examples/data/etnaOverlay-shifted.kml
new file mode 100644
index 00000000..600dbc30
--- /dev/null
+++ b/examples/data/etnaOverlay-shifted.kml
@@ -0,0 +1,29 @@
+
+
+
+ KML Samples
+ 1
+ 1
+ Unleash your creativity with the help of these examples!
+
+ Ground Overlays
+ Examples of ground overlays
+
+ Large-scale overlay on terrain
+ Overlay shows Mount Etna erupting
+ on July 13th, 2001.
+
+
+ data/etna.jpg
+
+
+ 38.01904192681665
+ 37.56543388598137
+ 15.45832653742206
+ 14.70128369746704
+ -0.1556640799496235
+
+
+
+
+