UNPKG

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
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;