cesium 图层构建的那些事 (十一)
今天我们来构建复杂一点的图层 云图

我们先定义一些定义参数
- 
//位置
- 
export interface PPoint{
- 
x:Number,
- 
y:Number,
- 
z?:Number,
- 
spatialReference?:Number;
- 
}
- 
export interface PCloudImageLayer {
- 
name: String,
- 
images: Array<any>,
- 
positions: Array<PPoint>
- 
}
云图layer
```javascript
import {DataSourceLayer} from "../DataSourceLayer";
import {PCloudImageLayer} from "./PCloudImageLayer";
import {PPoint} from "./PPoint";
export class CloudImageLayer extends DataSourceLayer{
public type = "CloudImageLayer";
private isRun: Boolean = true;//是否运行
private isStop: Boolean = false;//是否停止
public delay: number = 500;//切换图片延迟时间
private curIndex: number = 0;//当前展示的索引
private entitys: Array = [];//存放entity
private timer: any = null;//定时器
public get index(): number {
return this.curIndex;
}
- 
constructor(option: PCloudImageLayer, delay: number = 500) {
- 
super(option.name);
- 
this.delay = delay;
- 
if (option !== null) {
- 
this.createLayer(option.images, option.positions);
- 
}
- 
}
- 
- 
public getAttribute(index: number) {
- 
return this.entitys[index]._customAttr;
- 
}
- 
- 
public start(index: number = 0, isRun: boolean = true) {
- 
if (this.map == null) {
- 
throw new Error("请先添加到viewer中");
- 
}
- 
this.curIndex = index;
- 
this.isRun = isRun;
- 
this.isStop = false;
- 
window.requestAnimationFrame(this.animate.bind(this));
- 
}
- 
- 
public pause() {
- 
clearTimeout(this.timer);
 更多参考 https://xiaozhuanlan.com/topic/3192047568
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号