import { Source } from '@antv/l7'; import { Map } from '../map'; import { TextLayer } from '../../layers/text-layer'; import { PlotType } from '../../types'; import type { PlotOptions, LabelOptions, SourceOptions, Scene, PlotLayerOptions } from '../../types'; import { LayerGroup } from '../layer/layer-group'; export declare abstract class Plot extends Map { /** * 默认的 options 配置项 */ static DefaultOptions: Partial; /** * 地图图表类型 */ static PlotType: typeof PlotType; /** * 图表类型名称 */ abstract readonly type: PlotType | string; /** * 数据 */ source: Source; constructor(container: O); constructor(container: string | HTMLDivElement, options: O); /** * 初始化数据 */ protected initSource(): void; /** * 初始化图层事件 */ protected initLayersEvent(): void; /** * 获取默认配置 */ protected getDefaultOptions(): Partial; /** * 创建 source 实例 */ protected createSource(): Source; /** * 创建图层 */ protected abstract createLayers(source: Source): LayerGroup; /** * 更新图层 */ protected abstract updateLayers(options: Partial): void; /** * 创建数据标签图层 */ protected createLabelLayer(source: Source, label: LabelOptions, plotLayerConfig?: PlotLayerOptions): TextLayer; /** * 更新数据标签图层 */ protected updateLabelLayer(source: Source, label?: false | LabelOptions, plotLayerConfig?: PlotLayerOptions, labelLayer?: TextLayer): void; /** * 渲染 */ render(): void; /** * scene 加载成功回调 */ protected onSceneLoaded(): void; /** * 图层加载成功回调 */ protected onLayersLoaded(): void; /** * 挂载到容器 * 用于高级图表 L7Plot 挂载单个图表示例 */ attachToScene(scene: Scene, theme?: Record): void; /** * 取消挂载到容器上的 scene * 用于高级图表 L7Plot 挂载单个图表示例 */ unattachFromScene(): void; /** * 添加到容器 * 用于 L7 Scene 与图表混合使用场景 */ addToScene(scene: Scene): void; /** * 从容器上移除 * 用于 L7 Scene 与图表混合使用场景 */ removeFromScene(): void; /** * 更新: 更新配置且重新渲染 */ update(options: Partial): void; /** * 更新: 更新数据 */ changeData(data: any, cfg?: Omit): void; }