1.创建对象(矩形)代码
以下代码为创建面对向代码与对应运行结果图;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Creating Entities</title>
<script src="https://cesiumjs.org/releases/1.57/Build/Cesium/Cesium.js"></script>
<link href="https://cesiumjs.org/releases/1.57/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body>
<div id="cesiumContainer" style="width: 100%; height:600px;"></div>
<!----------------------------------01第一个实体----------------------------------------------------------------------------------------->
<script>
var viewer = new Cesium.Viewer('cesiumContainer');
var wyoming = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([-109.080842, 45.002073, -105.91517, 45.002073, -104.058488, 44.996596, -104.053011, 43.002989, -104.053011, 41.003906, -105.728954, 40.998429, -107.919731, 41.003906, -109.04798, 40.998429, -111.047063, 40.998429, -111.047063, 42.000709, -111.047063, 44.476286, -111.05254, 45.002073]),
height: 0,
material: Cesium.Color.RED.withAlpha(0.5),
outline: true,
outlineColor: Cesium.Color.BLACK
}
});
viewer.zoomTo(wyoming);
</script>
</body>
</html>
2.对象材质替换
直接修改JavaScript中代码;
①条纹样式
var viewer = new Cesium.Viewer('cesiumContainer');
var wyoming = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([-109.080842, 45.002073, -105.91517, 45.002073, -104.058488, 44.996596, -104.053011, 43.002989, -104.053011, 41.003906, -105.728954, 40.998429, -107.919731, 41.003906, -109.04798, 40.998429, -111.047063, 40.998429, -111.047063, 42.000709, -111.047063, 44.476286, -111.05254, 45.002073]),
height: 0,
outline: true,
outlineColor: Cesium.Color.BLACK
}
});
var ellipse = wyoming.polygon;
//黑白条纹材质
ellipse.material = new Cesium.StripeMaterialProperty({
evenColor: Cesium.Color.WHITE,
oddColor: Cesium.Color.BLACK,
repeat: 32
});
黑白网格材质
ellipse.material = new Cesium.CheckerboardMaterialProperty({
evenColor: Cesium.Color.WHITE,
oddColor: Cesium.Color.BLACK,
repeat: new Cesium.Cartesian2(4, 4)
});
3.点、线、面对象创建与属性修改
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Creating Entities</title>
<script src="https://cesiumjs.org/releases/1.57/Build/Cesium/Cesium.js"></script>
<link href="https://cesiumjs.org/releases/1.57/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
</head>
<body>
<div id="cesiumContainer" style="width: 100%; height:600px;"></div>
<!----------------------------------01第一个实体----------------------------------------------------------------------------------------->
<!--<script>
var viewer = new Cesium.Viewer('cesiumContainer');
var wyoming = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([-109.080842, 45.002073, -105.91517, 45.002073, -104.058488, 44.996596, -104.053011, 43.002989, -104.053011, 41.003906, -105.728954, 40.998429, -107.919731, 41.003906, -109.04798, 40.998429, -111.047063, 40.998429, -111.047063, 42.000709, -111.047063, 44.476286, -111.05254, 45.002073]),
height: 0,
material: Cesium.Color.RED.withAlpha(0.5),
outline: true,
outlineColor: Cesium.Color.BLACK
}
});
viewer.zoomTo(wyoming);
</script>-->
<!----------------------------------02材质替换----------------------------------------------------------------------------------------->
<script>
var viewer = new Cesium.Viewer('cesiumContainer');
var wyoming = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([-109.080842, 45.002073, -105.91517, 45.002073, -104.058488, 44.996596, -104.053011, 43.002989, -104.053011, 41.003906, -105.728954, 40.998429, -107.919731, 41.003906, -109.04798, 40.998429, -111.047063, 40.998429, -111.047063, 42.000709, -111.047063, 44.476286, -111.05254, 45.002073]),
height: 0,
outline: true,
outlineColor: Cesium.Color.BLACK
}
});
var ellipse = wyoming.polygon;
//黑白条纹材质
// ellipse.material = new Cesium.StripeMaterialProperty({
// evenColor: Cesium.Color.WHITE,
// oddColor: Cesium.Color.BLACK,
// repeat: 32
// });
//黑白网格材质
// ellipse.material = new Cesium.CheckerboardMaterialProperty({
// evenColor: Cesium.Color.WHITE,
// oddColor: Cesium.Color.BLACK,
// repeat: new Cesium.Cartesian2(4, 4)
// });
//黄色网格材质
// ellipse.material = new Cesium.GridMaterialProperty({
// color: Cesium.Color.YELLOW,
// cellAlpha: 0.2,
// lineCount: new Cesium.Cartesian2(8, 8),
// lineThickness: new Cesium.Cartesian2(2.0, 2.0)
// });
//
// viewer.zoomTo(wyoming);
//高程修改与高度添加
// var wyoming = viewer.entities.add({
// polygon: {
// hierarchy: Cesium.Cartesian3.fromDegreesArray([-109.080842, 45.002073, -105.91517, 45.002073, -104.058488, 44.996596, -104.053011, 43.002989, -104.053011, 41.003906, -105.728954, 40.998429, -107.919731, 41.003906, -109.04798, 40.998429, -111.047063, 40.998429, -111.047063, 42.000709, -111.047063, 44.476286, -111.05254, 45.002073]),
// height: 0,
// material: Cesium.Color.RED.withAlpha(0.5),
// outline: true,
// outlineColor: Cesium.Color.BLACK
// }
// });
//
// wyoming.polygon.height = 200000;
// wyoming.polygon.extrudedHeight = 250000;
//
// viewer.zoomTo(wyoming);
//线对象的创建与样式*************************************************************************************************************
// var entity = viewer.entities.add({
// polyline: {
// positions: Cesium.Cartesian3.fromDegreesArray([-77, 35, -78, 35, -78, 36, -79, 36, -79, 37]),
// width: 5
// }
// });
// viewer.zoomTo(viewer.entities);
//
// var polyline = entity.polyline // For upcoming examples
// polyline.material = new Cesium.PolylineOutlineMaterialProperty({
// color: Cesium.Color.ORANGE,
// outlineWidth: 3,
// outlineColor: Cesium.Color.BLACK
// });
//添加标记点************************************************************************************************************
// var citizensBankPark = viewer.entities.add({
// name: 'Citizens Bank Park',
// position: Cesium.Cartesian3.fromDegrees(-75.166493, 39.9060534),
// point: {
// pixelSize: 5,
// color: Cesium.Color.RED,
// outlineColor: Cesium.Color.WHITE,
// outlineWidth: 2
// },
// label: {
// text: 'Citizens Bank Park',
// font: '14pt monospace',
// style: Cesium.LabelStyle.FILL_AND_OUTLINE,
// outlineWidth: 2,
// verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
// pixelOffset: new Cesium.Cartesian2(0, -9)
// }
// });
//
// viewer.zoomTo(viewer.entities);
</script>
</body>
</html>
4.Cesium官网示例学习
Cesium创建对象
该官网中,有一个通过“Hello world example”进入到沙箱(Sandcastle)中,沙箱其实就是相当于一个JavaScript文件,里面是所有的js代码,所有界面实现都是通过js代码实现。
Basic中的代码可以直接复制并运行(如下图中的绿色框中代码),可复制到图二中的沙箱中,Run运行;