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