今天我们来构建复杂一点的图层 云图
我们先定义一些定义参数
//位置
export interface PPoint{
x:Number,
y:Number,
z?:Number,
spatialReference?:Number;
}
export interface PCloudImageLayer {
name: String,
images: Array,
positions: Array
}
云图layer
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