获取czml中entity根据availability每200毫秒的position
时间: 2023-11-22 10:56:32 浏览: 31
要获取CZML中的实体根据可用性每200毫秒的位置,您需要使用CesiumJS库。以下是一个示例代码:
```javascript
// 创建Cesium Viewer
var viewer = new Cesium.Viewer('cesiumContainer');
// 加载CZML数据源
var dataSourcePromise = Cesium.CzmlDataSource.load('path/to/your.czml');
// 将数据源添加到viewer中
viewer.dataSources.add(dataSourcePromise);
// 获取数据源实体
dataSourcePromise.then(function(dataSource) {
var entity = dataSource.entities.getById('your_entity_id');
// 设置回放模式
viewer.clock.onTick.addEventListener(function(clock) {
if (Cesium.JulianDate.greaterThanOrEquals(clock.currentTime, entity.availability.start) && Cesium.JulianDate.lessThanOrEquals(clock.currentTime, entity.availability.stop)) {
var position = entity.position.getValue(clock.currentTime);
console.log(position); // 每200毫秒输出一次位置
}
});
});
```
这段代码首先创建了一个Cesium Viewer,然后加载了CZML数据源,并将其添加到Viewer中。接下来,它获取了数据源中的实体,并设置了回放模式,以便在每个时刻获取实体的位置。最后,它在控制台上输出每个位置,实现了每200毫秒获取一次位置的效果。