body {
/*Account for the height of the navbar component*/
padding-top: 3.5rem;
}
/*Sets the size and style of the globe container*/
.globe {
width: 100%;
height: calc(100vh - 3.5rem);
background-color: black;
}
/*Sets the position of a container displayed over the globe container*/
.globe-overlay {
position: absolute;
width: 100%;
top: 3.5rem;
}
Sets the background color of Cards displayed over the globe .globe-card {
background: rgba(255, 255, 255, 0.7);
}
/*When the modal fills the screen it has no margin on top and bottom*/
/*Centers the modal*/
.modal-dialog {
margin: 0 auto;
}
/*Sets the maximum height of the entire modal to 100% of the screen height*/
.modal-content {
max-height: 100vh;
}
/*Sets the maximum height of the modal body to 90% of the screen height*/
.modal-body {
max-height: 90vh;
}
/*Sets the height of a modal's canvas to 30% or 200px*/
.modal-body-canvas {
max-height: 200px;
height: 30vh;
}
/*Sets the height of a modal's canvas to 60% minus the height of a footer*/
.modal-body-table {
max-height: calc(60vh - 71px);
overflow-y: auto;
}
/* Prevents an element, like a <div/> from consuming user input */
.noninteractive {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
pointer-events: none;
}
/* Allows an element to receive user input */
/* Useful if a parent element is using .noniteractive */
.interactive {
-webkit-touch-callout: auto !important;
-webkit-user-select: auto !important;
-khtml-user-select: auto !important;
-moz-user-select: auto !important;
-ms-user-select: auto !important;
-o-user-select: auto !important;
pointer-events: auto !important;
}
JavaScript
$(document).ready(function() {
"use strict";
// Set the Bing API key for Bing Maps
// Without your own key you will be using a limited WorldWind developer's key.
// See: https://www.bingmapsportal.com/ to register for your own key and then enter it below:
const BING_API_KEY = "";
if (BING_API_KEY) {
// Initialize WorldWind properties before creating the first WorldWindow
WorldWind.BingMapsKey = BING_API_KEY;
} else {
console.error("app.js: A Bing API key is required to use the Bing maps in production. Get your API key at https://www.bingmapsportal.com/");
}
// Set the MapQuest API key used for the Nominatim service.
// Get your own key at https://developer.mapquest.com/
// Without your own key you will be using a limited WorldWind developer's key.
const MAPQUEST_API_KEY = "";
/**
* The Globe encapsulates the WorldWindow object (wwd) and provides application
* specific logic for interacting with layers.
* @param {String} canvasId The ID of the canvas element that will host the globe
* @returns {Globe}
*/
class Globe {
constructor(canvasId, projectionName) {
// Create a WorldWindow globe on the specified HTML5 canvas
this.wwd = new WorldWind.WorldWindow(canvasId);
// Projection support
this.roundGlobe = this.wwd.globe; // The default is a 3D globe
this.flatGlobe = null;
if (projectionName) {
this.changeProjection(projectionName);
}
// Holds the next unique id to be assigned to a layer
this.nextLayerId = 1;
// Holds a map of category and observable timestamp pairs
this.categoryTimestamps = new Map();
// Add a BMNGOneImageLayer background layer. We're overriding the default
// minimum altitude of the BMNGOneImageLayer so this layer always available.
this.addLayer(new WorldWind.BMNGOneImageLayer(), {
category: "background",
minActiveAltitude: 0
});
}
/**
* Returns the...
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.