cesium编程入门(五)绘制形状

通过Entity添加形状

先来看一个添加立方体的例子

var viewer = new Cesium.Viewer('cesiumContainer');
var redBox = **viewer.entities.add**({
name : 'Red box with black outline',
position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0),
box : {
dimensions : new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
material : Cesium.Color.RED.withAlpha(0.5),
outline : true,
outlineColor : Cesium.Color.BLACK
}
}); viewer.zoomTo(viewer.entities);

效果如图:

cesium编程入门(五)绘制形状

通过CZML添加

通过CZML也可以添加几何形状,而且CZML还可以描述动画(现在先有个印象,动画以后介绍)

先来看看官网上的说明,CZML是一种JSON格式的字符串,用于描述与时间有关的动画场景,CZML包含点、线、地标、模型、和其他的一些图形元素,并指明了这些元素如何随时间而变化。某种程度上说, Cesium 和 CZML的关系就像 Google Earth 和 KML。

var czml = [{
"id" : "document",
"name" : "box",
"version" : "1.0"
},{
"id" : "shape2",
"name" : "Red box with black outline",
"position" : {
"cartographicDegrees" : [-107.0, 40.0, 300000.0]
},
"box" : {
"dimensions" : {
"cartesian": [400000.0, 300000.0, 500000.0]
},
"material" : {
"solidColor" : {
"color" : {
"rgba" : [255, 0, 0, 128]
}
}
},
"outline" : true,
"outlineColor" : {
"rgba" : [0, 0, 0, 255]
}
}
}]; var viewer = new Cesium.Viewer('cesiumContainer');
var dataSourcePromise = Cesium.CzmlDataSource.load(czml);
viewer.dataSources.add(dataSourcePromise);
viewer.zoomTo(dataSourcePromise);

可以看到单个的形状和Entity的描述基本一致,只不过是使用JSON语法来描述,关于形状描述可以参考官方API,下一节列出形状的相关信息

形状相关描述

下表来自于官方网站,但是连接改为本地链接了

     
Point cesium编程入门(五)绘制形状 entity.point - Reference Build/Documentation
Boxes cesium编程入门(五)绘制形状 entity.box - Code example - Reference Build/Documentation
Circles and Ellipses cesium编程入门(五)绘制形状 entity.ellipse - Code example - Reference Build/Documentation
Corridor cesium编程入门(五)绘制形状 entity.corridor - Code example - Reference Build/Documentation
Cylinder and Cones cesium编程入门(五)绘制形状 entity.cylinder - Code example - Reference Build/Documentation
Polygons cesium编程入门(五)绘制形状 entity.polygon - Code example - Reference Build/Documentation
Polylines cesium编程入门(五)绘制形状 entity.polyline - Code example - Reference Build/Documentation
Polyline Volumes cesium编程入门(五)绘制形状 entity.polylineVolume - Code example - Reference Build/Documentation
Rectangles cesium编程入门(五)绘制形状 entity.rectangle - Code example - Reference Build/Documentation
Spheres and Ellipsoids cesium编程入门(五)绘制形状 entity.ellipsoid - Code example - Reference Build/Documentation
Walls cesium编程入门(五)绘制形状 entity.wall - Code example - Reference Build/Documentation
上一篇:【转】Web测试方法


下一篇:Oracle中如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?