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);
posted @ 2022-01-20 17:40  haibalai  阅读(77)  评论(0编辑  收藏  举报