import { ILayer, Scene } from '@antv/l7'; import { EventEmitter } from 'eventemitter3'; import { RenderEvent } from '../constant'; import { IBaseFeature, IBaseStyle, IRenderOptions } from '../typings'; export declare abstract class LayerRender extends EventEmitter { /** * 地图场景Scene的实例 */ protected scene: Scene; /** * 样式配置 */ protected style: S; /** * 图层列表 */ protected layers: ILayer[]; /** * 当前展示的数据 */ protected data: F[]; constructor(scene: Scene, { style }: IRenderOptions); /** * 子类继承时需要实现该方法并返回对应的layer数组 */ abstract initLayers(): ILayer[]; getLayers(): ILayer[]; /** * 显示所有图层 */ show(): void; /** * 隐藏所有图层 */ hide(): void; /** * 设置数据 * @param features 设置对应的Feature数组 */ setData(features: F[]): void; /** * render销毁时,需要把图层从Scene中移除 */ destroy(): void; }