-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/master' into delay-load-gihugic-…
…file
- Loading branch information
Showing
12 changed files
with
459 additions
and
110 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> | ||
<meta name="description" content="Demonstration of imagery layers with rectangular cutouts."> | ||
<meta name="cesium-sandcastle-labels" content="Tutorials"> | ||
<title>Cesium Demo</title> | ||
<script type="text/javascript" src="../Sandcastle-header.js"></script> | ||
<script type="text/javascript" src="../../../ThirdParty/requirejs-2.1.20/require.js"></script> | ||
<script type="text/javascript"> | ||
require.config({ | ||
baseUrl : '../../../Source', | ||
waitSeconds : 60 | ||
}); | ||
</script> | ||
</head> | ||
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html"> | ||
<style> | ||
@import url(../templates/bucket.css); | ||
</style> | ||
<div id="cesiumContainer" class="fullSize"></div> | ||
<div id="loadingOverlay"><h1>Loading...</h1></div> | ||
<div id="toolbar"> | ||
<table class="infoPanel"> | ||
<tbody> | ||
<tr> | ||
<td>Click on the Cesium display to start.</td> | ||
</tr> | ||
<tr> | ||
<td>w/s - move cutout north/south</td> | ||
</tr> | ||
<tr> | ||
<td>a/d - move cutout west/east</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
</div> | ||
<script id="cesium_sandcastle_script"> | ||
function startup(Cesium) { | ||
'use strict'; | ||
//Sandcastle_Begin | ||
var viewer = new Cesium.Viewer('cesiumContainer', { | ||
imageryProvider : Cesium.createTileMapServiceImageryProvider({ | ||
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') | ||
}), | ||
baseLayerPicker : false | ||
}); | ||
|
||
var canvas = viewer.canvas; | ||
canvas.setAttribute('tabindex', '0'); // needed to put focus on the canvas | ||
canvas.onclick = function() { | ||
canvas.focus(); | ||
}; | ||
|
||
var scene = viewer.scene; | ||
|
||
var defaultImageryLayerCutout = Cesium.Rectangle.fromDegrees(-90, 20, -70, 40); | ||
|
||
// Cut a rectangle out of the base layer | ||
var layers = viewer.imageryLayers; | ||
var imageryBaseLayer = layers.get(0); | ||
|
||
imageryBaseLayer.cutoutRectangle = defaultImageryLayerCutout; | ||
|
||
// Fit a SingleTileImageryProvider inside the cutout on the lowest layer | ||
layers.addImageryProvider(new Cesium.SingleTileImageryProvider({ | ||
url : '../images/Cesium_Logo_overlay.png', | ||
rectangle : defaultImageryLayerCutout | ||
})); | ||
|
||
// Add an Earth at Night layer and a "traveling" cutout | ||
var earthAtNight = layers.addImageryProvider(new Cesium.IonImageryProvider({ assetId: 3812 })); | ||
earthAtNight.cutoutRectangle = Cesium.Rectangle.fromDegrees(-100, 10, -60, 50); | ||
earthAtNight.alpha = 0.9; | ||
|
||
// "traveling" code | ||
var flags = { | ||
moveEast : false, | ||
moveWest : false, | ||
moveNorth : false, | ||
moveSouth : false | ||
}; | ||
|
||
function getFlagForKeyCode(keyCode) { | ||
switch (keyCode) { | ||
case 'W'.charCodeAt(0): | ||
return 'moveNorth'; | ||
case 'S'.charCodeAt(0): | ||
return 'moveSouth'; | ||
case 'D'.charCodeAt(0): | ||
return 'moveEast'; | ||
case 'A'.charCodeAt(0): | ||
return 'moveWest'; | ||
default: | ||
return undefined; | ||
} | ||
} | ||
|
||
document.addEventListener('keydown', function(e) { | ||
var flagName = getFlagForKeyCode(e.keyCode); | ||
if (typeof flagName !== 'undefined') { | ||
flags[flagName] = true; | ||
} | ||
}, false); | ||
|
||
document.addEventListener('keyup', function(e) { | ||
var flagName = getFlagForKeyCode(e.keyCode); | ||
if (typeof flagName !== 'undefined') { | ||
flags[flagName] = false; | ||
} | ||
}, false); | ||
|
||
var moveIncrement = 0.05; | ||
viewer.clock.onTick.addEventListener(function(clock) { | ||
var travelingRectangle = earthAtNight.cutoutRectangle; | ||
if (flags.moveNorth && travelingRectangle.north + moveIncrement < Cesium.Math.PI_OVER_TWO) { | ||
travelingRectangle.north += moveIncrement; | ||
travelingRectangle.south += moveIncrement; | ||
} | ||
if (flags.moveSouth && travelingRectangle.south - moveIncrement > -Cesium.Math.PI_OVER_TWO) { | ||
travelingRectangle.north -= moveIncrement; | ||
travelingRectangle.south -= moveIncrement; | ||
} | ||
if (flags.moveEast) { | ||
travelingRectangle.east += moveIncrement; | ||
travelingRectangle.west += moveIncrement; | ||
} | ||
if (flags.moveWest) { | ||
travelingRectangle.east -= moveIncrement; | ||
travelingRectangle.west -= moveIncrement; | ||
} | ||
travelingRectangle.east = wrapLongitude(travelingRectangle.east); | ||
travelingRectangle.west = wrapLongitude(travelingRectangle.west); | ||
}); | ||
|
||
function wrapLongitude(value) { | ||
if (value < -Cesium.Math.PI) { | ||
return value + Cesium.Math.TWO_PI; | ||
} | ||
if (value > Cesium.Math.PI) { | ||
return value - Cesium.Math.TWO_PI; | ||
} | ||
return value; | ||
} | ||
|
||
//Sandcastle_End | ||
Sandcastle.finishedLoading(); | ||
} | ||
if (typeof Cesium !== 'undefined') { | ||
startup(Cesium); | ||
} else if (typeof require === 'function') { | ||
require(['Cesium'], startup); | ||
} | ||
</script> | ||
</body> | ||
</html> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.