|
1. 概述 CZML是Cesium中用于描述動(dòng)態(tài)圖形場(chǎng)景的JSON格式,它們的關(guān)系類似于Google Earth與KML之間的關(guān)系,一般會(huì)認(rèn)為KML是一種矢量格式,但KML或者CZML絕不是矢量格式那么簡(jiǎn)單,它可以描述線,點(diǎn),廣告牌,模型和其他圖形圖元,并指定其如何隨時(shí)間變化。 CZML Point這個(gè)案例描述了如何通過CZML格式來描述一個(gè)點(diǎn)。 2. 案例CZML是一種JSON格式,因此可以直接在程序中描述成對(duì)象字面量。具體實(shí)現(xiàn)代碼如下: '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中直接定義了一個(gè)CzmlDataSource對(duì)象處理Czml,通過load函數(shù)返回了一個(gè)CzmlDataSource的Promise。然后將其加入到Viewer成員變量dataSources,它是一個(gè)DataSource數(shù)據(jù)源的集合DataSourceCollection。DataSourceCollection的add函數(shù)能夠接受CzmlDataSource的Promise,也就是一旦CZML被正確讀取,就會(huì)加載到視景器Viewer中。 這里的CZML定義也是比較直觀的:
3. 結(jié)果最后的顯示效果如下: |
|
|