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