- 基础知识
- 入门教程
- 中级教程
- 官方教程
- 博客文章
- Cesium 应用篇-添加雨雪天气
- Cesium 源码剖析-Post Processing 之物体描边 Silhouette
- Cesium 源码剖析-Ambient Occlusion 环境光遮蔽
- Cesium 源码剖析-Clipping Plane
- Cesium 源码剖析-视频投影
- Cesium 之加载地形图 Terrain 篇
- Cesium 之三维漫游飞行效果实现篇
- Cesium 之地图贴地量算工具效果篇
- Cesium 之简介以及离线部署运行篇
- Cesium 之核心类 Viewer 简介篇
- Cesium 之自定义气泡窗口 infoWindow 篇
- Cesium 之自定义气泡窗口 infoWindow 后续优化篇
- 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);
效果如图:
通过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 | entity.point – | entity.box – Code example – | entity.ellipse – Code example – | entity.corridor – Code example – | entity.cylinder – Code example – | entity.polygon – Code example – | entity.polyline – Code example – | entity.polylineVolume – Code example – | entity.rectangle – Code example – | entity.ellipsoid – Code example – | entity.wall – Code example – Reference Build/Documentation |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论