bcgis-type
Version:
The SDK is based on Cesium for secondary development of 2, 3D all-in-one WebGis application framework, the framework optimizes the use of Cesium and add some additional features, designed for developers to quickly build WebGis applications.
175 lines (174 loc) • 4.36 kB
TypeScript
import { LayerEvent } from "../event";
import { Overlay } from "../overlay";
/**
* 图层的基类,其子类是实例化后需添加到三维场景中方可展示各类三维数据
*/
declare abstract class Layer {
protected _id: string;
protected _delegate: any;
protected _viewer: any;
protected _state: any;
protected _show: boolean;
protected _isGround: boolean;
protected _cache: Map<string, Overlay>;
protected _attr: {};
protected _layerEvent: LayerEvent;
constructor(options: any);
/**
* 唯一标识
*/
get id(): string;
/**
* 项目类型
*/
get type(): any;
/**
*
*/
get delegate(): any;
/**
* 是否显示
*/
set show(show: boolean);
/**
* 业务属性
*/
get show(): boolean;
get layerEvent(): LayerEvent;
set attr(attr: {});
get attr(): {};
/**
* 图层状态
*/
get state(): any;
/**
* The hook for added
*/
protected _addedHook(): void;
/**
* The hook for removed
*/
protected _removedHook(): void;
/**
* The layer added callback function
* Subclasses need to be overridden
* @param viewer
*/
protected _onAdd(viewer: any): void;
/**
* The layer added callback function
* Subclasses need to be overridden
*/
protected _onRemove(): void;
/**
* The layer add overlay
* @param overlay
*/
protected _addOverlay(overlay: Overlay): void;
/**
* The layer remove overlay
* @param overlay
*/
protected _removeOverlay(overlay: Overlay): void;
/**
* 添加覆盖物
* @param overlay 覆盖物
* @returns {Layer}
*/
addOverlay(overlay: Overlay): Layer;
/**
* 添加覆盖物数组
* @param overlays 覆盖物数组
* @returns {Layer}
*/
addOverlays(overlays: Overlay[]): Layer;
/**
* 删除覆盖物
* @param overlay 覆盖物
* @returns {Layer}
*/
removeOverlay(overlay: Overlay): Layer;
/**
* 根据 Id 获取覆盖物
* @param overlayId
* @returns 覆盖物
*/
getOverlay(overlayId: string): Overlay | undefined;
/**
* 根据业务 Id 获取覆盖物
* @param id 覆盖物业务唯一标识
*/
getOverlayById(id: string): Overlay | undefined;
/**
* 根据覆盖物属性获取覆盖物
* @param attrName 属性名称
* @param attrVal 属性值
* @returns 覆盖物数组
*/
getOverlaysByAttr(attrName: string, attrVal: any): Overlay[];
/**
* 遍历覆盖物
* @param method 回调函数,参数为每一个覆盖物
* @param context 上下文
* @returns {Layer}
*/
eachOverlay(method: (item: Overlay) => void, context: any): Layer;
/**
* 获取所有覆盖物
*/
getOverlays(): Overlay[];
/**
* 清空图层
*/
abstract clear(): void;
/**
* 删除图层
*/
remove(): void;
/**
* 添加图层到场景
* @param viewer
* @returns {Layer}
*/
addTo(viewer: any): Layer;
/**
* 设置样式, 样式将会应用到图层的每一个覆盖物上
* @param style
*/
abstract setStyle(style: any): any;
/**
* 事件订阅
* @param type 订阅类型
* @param callback 订阅回调
* @param context 上下文
* @returns {Layer}
*/
on(type: any, callback: any, context: any): Layer;
/**
* 取消事件订阅
* @param type 订阅类型
* @param callback 订阅回调
* @param context 上下文
* @returns {Layer}
*/
off(type: any, callback: any, context: any): Layer;
/**
* 触发事件
* @param type 订阅类型
* @param params 参数
* @returns {Layer}
*/
fire(type: any, params: any): Layer;
/**
* 注册图层类型
* @param type - 图层类型
*/
static registerType(type: string): void;
/**
* 获取图层类型
* @param type
* @returns 图层类型
*/
static getLayerType(type: string): string;
}
export default Layer;