代码:
<!DOCTYPE html>
<html>
<head>
<title> hello word </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script src = "../Build/Cesium/Cesium.js"></script>
<link href="../Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body>
<div id="cesiumContainer"></div>
<div id = "latlng_show" >
<div >
<font size="1" color="white">经度: <span id="longitude_show"></span></font>
</div>
<div >
<font size="1" color="white">维度: <span id="latitude_show"></span></font>
</div>
<div >
<font size="1" color="white">视⾓⾼: <span id="altitude_show"></span>km</font>
</div>
</div>
</body>
</html>
<script>
//两端点
var czml = [{
"id" : "document",
"name" : "CZML Position Definitions",
"version" : "1.0"
}, {
"id" : "point1",
"name": "point in cartographic degrees",
"position" : {
"cartographicDegrees" : [-119,35.1219512195122,0]
},
"point": {
"color": {
"rgba": [100, 0, 200, 255]
},
"outlineColor": {
"rgba": [200, 0, 200, 255]
},
"pixelSize": {
"number": 10
}
}
}, {
"id" : "point2",
"name": "point in cartesian coordinates",
"position" : {
"cartographicDegrees" : [-79,40,0]
},
"point": {
"color": {
"rgba": [0, 100, 200, 255]
},
"outlineColor": {
"rgba": [200, 0, 200, 255]
},
"pixelSize": {
"number": 10
}
}
}];
//飞⾏轨迹
var czmlLine = [{
"id" : "document",
"name" : "CZML Geometries: Polyline",
"version" : "1.0"
}, {
"id" : "dashedLine",
"name" : "Blue dashed line",
"polyline" : {
"positions" : {
"cartographicDegrees" : [
-119,35.1219512195122,0,
-
118,35.2439024390244,48750,
-117,35.3658536585366,95000,
-116,35.4878048780488,138750,
-115,35.609756097561,180000,
-114,35.7317073170732,218750,
-113,35.8536585365854,255000,
-112,35.9756097560976,288750,
-111,36.0975609756098,320000,
-110,36.219512195122,348750,
-109,36.3414634146341,375000,
-108,36.4634146341463,398750,
-
107,36.5853658536585,420000,
-106,36.7073170731707,438750,
-105,36.8292682926829,455000,
-104,36.9512195121951,468750,
-103,37.0731707317073,480000,
-102,37.1951219512195,488750,
-101,37.3170731707317,495000,
-100,37.4390243902439,498750,
-99,37.5609756097561,500000,
-98,37.6829268292683,498750,
-97,37.8048780487805,495000,
-
96,37.9268292682927,488750,
-95,38.0487804878049,480000,
-94,38.1707317073171,468750,
-93,38.2926829268293,455000,
-92,38.4146341463415,438750,
-91,38.5365853658537,420000,
-90,38.6585365853659,398750,
-89,38.780487804878,375000,
-88,38.9024390243902,348750,
-87,39.0243902439024,320000,
-86,39.1463414634146,288750,
-
85,39.2682926829268,255000,
-84,39.390243902439,218750,
-83,39.5121951219512,180000,
-82,39.6341463414634,138750,
-81,39.7560975609756,95000,
-80,39.8780487804878,48750,
-79,40,0
]
},
"material" : {
"polylineDash" : {
"color" : {
"rgba" : [255, 0, 0, 255]
}
}
},
"width" : 2
}
}];
//移动的点
var czmlMP = [{
"id" : "document",
"name" : "CZML Point - Time Dynamic",
"version" : "1.0"
}, {
"id" : "point",
"availability" :"2012-08-04T16:00:00Z/2012-08-04T17:06:66Z", "position" : {
"epoch" : "2012-08-04T16:00:00Z",
"cartographicDegrees" : [
100,-119,35.1219512195122,0,
200,-118,35.2439024390244,48750,
300,-117,35.3658536585366,95000,
400,-116,35.4878048780488,138750,
500,-115,35.609756097561,180000,
600,-114,35.7317073170732,218750,
700,-113,35.8536585365854,255000,
800,-112,35.9756097560976,288750,
900,-111,36.0975609756098,320000,
1000,-110,36.219512195122,348750,
1100,-109,36.3414634146341,375000,
1200,-108,36.4634146341463,398750,
1300,-107,36.5853658536585,420000,
1400,-106,36.7073170731707,438750,
1500,-105,36.8292682926829,455000,
1600,-104,36.9512195121951,468750,
1700,-103,37.0731707317073,480000,
1800,-102,37.1951219512195,488750,
1900,-101,37.3170731707317,495000,
2000,-100,37.4390243902439,498750,
2100,-99,37.5609756097561,500000,
2200,-98,37.6829268292683,498750,
2300,-97,37.8048780487805,495000,
2400,-96,37.9268292682927,488750,
2500,-95,38.0487804878049,480000,
2600,-94,38.1707317073171,468750,
2700,-93,38.2926829268293,455000,
2800,-92,38.4146341463415,438750,
2900,-91,38.5365853658537,420000,
3000,-90,38.6585365853659,398750,
3100,-89,38.780487804878,375000,
3200,-88,38.9024390243902,348750,
3300,-87,39.0243902439024,320000,
3400,-86,39.1463414634146,288750,
3500,-85,39.2682926829268,255000,
3600,-84,39.390243902439,218750,
3700,-83,39.5121951219512,180000,
3800,-82,39.6341463414634,138750,
3900,-81,39.7560975609756,95000,
4000,-80,39.8780487804878,48750,
4100,-79,40,0
]
},
"point" : {
"color" : {
"rgba" : [255, 255, 255, 128]
},
"outlineColor" : {
"rgba" : [255, 0, 0, 128]
},
"outlineWidth" : 3,
"pixelSize" : 15
}
}];
var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProvider : ateTileMapServiceImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII') //离线地图
}),
shouldAnimate : true,
homeButton:false,
sceneModePicker:false,
baseLayerPicker : false,
//baseLayerPicker:false,
//animation:false,
//creditContainer:"credit"
timeline:true,
极化片
vrButton:false
});
var longitude_show = ElementById("longitude_show");
var latitude_show = ElementById("latitude_show");
var altitude_show = ElementById("altitude_show");
var canvas=viewer.scene.canvas;
var ellipsoid = viewer.scene.globe.ellipsoid;
var handler = new Cesium.ScreenSpaceEventHandler(canvas);
handler.setInputAction(function(movement){
var cartesian = viewer.camera.dPosition,ellipsoid);
if(cartesian){
var cartographic=viewer.scene.globe.ellipsoid.cartesianToCartographic(cartesian);
var lat_String = Degrees(cartographic.latitude).toFixed(4);
var log_String = Degrees(cartographic.longitude).toFixed(4);
var alti_String = (viewer.camera.positionCartographic.height/1000).toFixed(2);
longitude_show.innerHTML = log_String;
latitude_show.innerHTML = lat_String;
altitude_show.innerHTML = alti_String;
}
},Cesium.ScreenSpaceEventType.MOUSE_MOVE);
/*
//添加⼀个球体
var redSphere = ities.add({
name : 'Red sphere with black outline',
position: Cesium.Cartesian3.fromDegrees(-79,40,-100000),
ellipsoid : {
radii : new Cesium.Cartesian3(300000.0, 300000.0, 300000.0),
//material : Cesium.Color.RED.withAlpha(0.5),
//outline : true,
//outlineColor : Cesium.Color.BLACK
fill : false,电厂生产管理系统
outline : true,
outlineColor : Cesium.Color.RED,
slicePartitions : 12,
stackPartitions : 13
}
});
*/
//--------------------------热⽓球----------------------------------------------
/*
function createModel(url, height) {
var position = Cesium.Cartesian3.fromDegrees(-79,40, height);
var heading = Radians(135);
var pitch = 0;
var roll = 0;
var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);
var entity = ities.add({
name : url,
position : position,
orientation : orientation,
model : {
uri : url,
minimumPixelSize : 128,
maximumScale : 20000
}
});
}
createModel('../Apps/SampleData/models/CesiumBalloon/CesiumBalloon.glb', 0.0);
*/
//--------------------------热⽓球----------------------------------------------
//createModel('../Apps/SampleData/models/CesiumMan/Cesium_Man.glb', 0.0);
//-------------------------------------------------------------爆炸效果
/*
scene.debugShowFramesPerSecond = true;
Cesium.Math.setRandomNumberSeed(315);
var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(-
75.59777, 40.03883)); var emitterInitialLocation = new Cesium.Cartesian3(0.0, 0.0, 100.0);
var particleCanvas;
function getImage() {
if (!Cesium.defined(particleCanvas)) {
particleCanvas = ateElement('canvas');
particleCanvas.width = 20;
particleCanvas.height = 20;
var context2D = Context('2d');
context2D.beginPath();
context2D.arc(8, 8, 8, 0, Cesium.Math.TWO_PI, true);
context2D.closePath();
context2D.fillStyle = 'rgb(255, 255, 255)';
context2D.fill();
}
return particleCanvas;
}
var minimumExplosionSize = 3000.0;
var maximumExplosionSize = 10000.0;
var particlePixelSize = new Cesium.Cartesian2(7.0, 7.0);
var burstSize = 400.0;
var lifetime = 10.0;
var numberOfFireworks = 1.0;
var emitterModelMatrixScratch = new Cesium.Matrix4();
function createFirework(offset, color, bursts) {
var position = Cesium.Cartesian3.add(emitterInitialLocation, offset, new Cesium.Cartesian3());
var emitterModelMatrix = Cesium.Matrix4.fromTranslation(position, emitterModelMatrixScratch);
var particleToWorld = Cesium.Matrix4.multiply(modelMatrix, emitterModelMatrix, new Cesium.Matrix4());
var worldToParticle = Cesium.Matrix4.inverseTransformation(particleToWorld, particleToWorld);
var size = Cesium.Math.randomBetween(minimumExplosionSize, maximumExplosionSize);
var particlePositionScratch = new Cesium.Cartesian3();
var force = function(particle) {
var position = Cesium.Matrix4.multiplyByPoint(worldToParticle, particle.position, particlePositionScratch);
if (Cesium.Cartesian3.magnitudeSquared(position) >= size * size) {
Cesium.Cartesian3.clone(Cesium.Cartesian3.ZERO, particle.velocity);
}
};
var normalSize = (size - minimumExplosionSize) / (maximumExplosionSize - minimumExplosionSize);
var minLife = 0.3;
var maxLife = 1.0;
var life = normalSize * (maxLife - minLife) + minLife;
scene.primitives.add(new Cesium.ParticleSystem({
image : getImage(),
startColor : color,
endColor : color.withAlpha(0.0),
particleLife : life,
speed : 100.0,
imageSize : particlePixelSize,
emissionRate : 0,
emitter : new Cesium.SphereEmitter(0.1),
bursts : bursts,
lifetime : lifetime,
updateCallback : force,
modelMatrix : modelMatrix,
emitterModelMatrix : emitterModelMatrix
}));
}
var xMin = -10000.0;
var xMax = 10000.0;
var yMin = -8000.0;
var yMax = 10000.0;挤压成型机
var zMin = -5000.0;
var zMax = 5000.0;
var colorOptions = [{
minimumRed : 0.75,
green : 0.0,
minimumBlue : 0.0,
alpha : 1.0
}];
var x = Cesium.Math.randomBetween(xMin, xMax);
var y = Cesium.Math.randomBetween(yMin, yMax);
var z = Cesium.Math.randomBetween(zMin, zMax);
var offset = new Cesium.Cartesian3(x, y, z);
var color = Cesium.Color.fromRandom(colorOptions[0]);
var bursts = [];
for (var j = 0; j < 3; ++j) {
bursts.push(new Cesium.ParticleBurst({
time : RandomNumber() * lifetime,
minimum : burstSize,
maximum : burstSize
}));
}
createFirework(offset, color, bursts);
var camera = viewer.scene.camera;
var cameraOffset = new Cesium.Cartesian3(-300.0, 0.0, 0.0);
camera.lookAtTransform(modelMatrix, cameraOffset);
camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
var toFireworks = Cesium.Cartesian3.subtract(emitterInitialLocation, cameraOffset, new Cesium.Cartesian3()); alize(toFireworks, toFireworks);
var angle = Cesium.Math.PI_OVER_TWO - Math.acos(Cesium.Cartesian3.dot(toFireworks, Cesium.Cartesian3.UNIT_Z)); camera.lookUp(angle);
*/
//-------------------------------------------------------------爆炸效果
//--------------------------------------防护罩---------------------------------
var angleJ = 0;
玻璃门夹var radius = 0;
var step = 10;
var g = 800000;光盘标签纸
var totalSpoke = [];//辐条坐标
for(;radius<circleNum;radius++){
var circle = []; //同⼼圆坐标
for(angleJ = 0;angleJ<=360;angleJ+=step){//每个圆上有多少个点8
var radians = Radians(angleJ);
var j = s(radians);
var w = radius*Math.sin(radians);
//防⽌出现负0
if(Math.abs(j)==0){
j=0;
}
if(Math.abs(w)==0){
w=0;
}
/
/⼩数点保留两位。
w = Math.floor(w*100)/100;
j = Math.floor(j*100)/100;
totalSpoke.push(j);
totalSpoke.push(w);
totalSpoke.push(g);
circle.push(j);
circle.push(w);
circle.push(g);
//console.log("j:"+j+" w:"+w);
g-=2000/30*step;
}
//console.log("------------------------------------------------------");
name : 'sun system protected umbrella!',
polyline : {
positions : Cesium.Cartesian3.fromDegreesArrayHeights(circle),
width : 1,
material : new Cesium.PolylineOutlineMaterialProperty({
color : Cesium.Color.ORANGE,
outlineWidth : 0,
// outlineColor : Cesium.Color.BLACK
})
}
});
}
var i = 0;
var count = 0;
var linshi = [];
for(;i<360/step*3;i+=3){ //共个辐条
var spoke = [];
var j = 0;
for(;j<totalSpoke.length;j+=((360/step)+1)*3){ //每个辐条上的点
spoke.push(totalSpoke[j+i]);
spoke.push(totalSpoke[j+i+1]);
spoke.push(totalSpoke[j+i+2]);
//console.log(totalSpoke[j+i]+" ");
//console.log(totalSpoke[j+i+1]+" ");
//console.log(totalSpoke[j+i+2]);
//console.log("##");
//console.log(totalSpoke[j+i]+" j+i");
//console.log(totalSpoke[j+i+1]+" j+i+1");
}
//console.log("--------------" +count++ +"-------------");
name : 'Orange line with black outline at height and following the surface', polyline : {
positions : Cesium.Cartesian3.fromDegreesArrayHeights(spoke),
width : 1,
material : new Cesium.PolylineOutlineMaterialProperty({
color : Cesium.Color.ORANGE,
outlineWidth : 0,
// outlineColor : Cesium.Color.BLACK
})
}
});
}
/*
Cesium.Math.setRandomNumberSeed(3);
var lon =100, lat=30, radius = 10;
for (var i = 0; i <= 360; i += 45) {
var radians = Radians(i);
circle.push(lon + (radius * s(radians)));
console.log(lon + (radius * s(radians)));
circle.push(lat + (radius * Math.sin(radians)));
console.log(lat + (radius * Math.sin(radians)));
circle.push(RandomNumber() * 500 + 1750);
console.log(RandomNumber() * 500 + 1750);
console.log("----------------------");
}
*/
/*
var dashedLine = ities.add({
name : 'Blue dashed line',
polyline : {
positions : Cesium.Cartesian3.fromDegreesArrayHeights(circle),
width : 1,
material : new Cesium.PolylineDashMaterialProperty({
color: Cesium.Color.RED
})
}
});
*/
var dashedLine2 = ities.add({