CZML是Cesium中用于描述动态图形场景的JSON格式,它们的关系相似于Google Earth与KML之间的关系,通常会认为KML是一种矢量格式,但KML或者CZML毫不是矢量格式那么简单,它能够描述线,点,广告牌,模型和其余图形图元,并指定其如何随时间变化。javascript
CZML Point这个案例描述了如何经过CZML格式来描述一个点。java
CZML是一种JSON格式,所以能够直接在程序中描述成对象字面量。具体实现代码以下:函数
'use strict'; var czml = [{ "id": "document", "name": "CZML Point", "version": "1.0" }, { "id": "point 1", "name": "point", "position": { "cartographicDegrees": [-111.0, 40.0, 0] }, "point": { "color": { "rgba": [255, 255, 255, 255] }, "outlineColor": { "rgba": [255, 0, 0, 255] }, "outlineWidth": 4, "pixelSize": 20 } }]; var viewer = new Cesium.Viewer('cesiumContainer'); var dataSourcePromise = Cesium.CzmlDataSource.load(czml); viewer.dataSources.add(dataSourcePromise); viewer.zoomTo(dataSourcePromise);
Cesium中直接定义了一个CzmlDataSource对象处理Czml,经过load函数返回了一个CzmlDataSource的Promise。而后将其加入到Viewer成员变量dataSources,它是一个DataSource数据源的集合DataSourceCollection。DataSourceCollection的add函数可以接受CzmlDataSource的Promise,也就是一旦CZML被正确读取,就会加载到视景器Viewer中。code
这里的CZML定义也是比较直观的:对象
最后的显示效果以下:
blog