import { SyncHook } from '@antv/async-hook'; import type { IClusterOptions, IParserCfg, IParserData, ISource, ISourceCFG, ITileParserCFG, ITransform } from '@antv/l7-core'; import type { SourceTile } from '@antv/l7-utils'; import { TilesetManager } from '@antv/l7-utils'; import type { BBox } from '@turf/helpers'; import { EventEmitter } from 'eventemitter3'; export default class Source extends EventEmitter implements ISource { type: string; isTile: boolean; inited: boolean; data: IParserData; center: [number, number]; extent: BBox; hooks: { init: SyncHook; }; getSourceCfg(): Partial; parser: IParserCfg | ITileParserCFG; transforms: ITransform[]; cluster: boolean; clusterOptions: Partial; tileset: TilesetManager | undefined; private invalidExtent; private dataArrayChanged; protected originData: any; protected rawData: any; private cfg; private clusterIndex; constructor(data: any | ISource, cfg?: ISourceCFG); getClusters(zoom: number): any; getClustersLeaves(id: number): any; getParserType(): string; updateClusterData(zoom: number): void; getFeatureById(id: number): unknown; updateFeaturePropertiesById(id: number, properties: Record): void; getFeatureId(field: string, value: any): number | undefined; setData(data: any, options?: ISourceCFG): void; reloadAllTile(): void; reloadTilebyId(z: number, x: number, y: number): void; reloadTileByLnglat(lng: number, lat: number, z: number): void; getTileExtent(e: [number, number, number, number], zoom: number): Array<{ x: number; y: number; z: number; }> | undefined; getTileByZXY(z: number, x: number, y: number): SourceTile | undefined; reloadTileByExtent(bounds: [number, number, number, number], z: number): void; destroy(): void; private processData; private initCfg; private init; /** * 数据解析 */ private excuteParser; private setCenter; /** * 瓦片数据管理器 */ private initTileset; /** * 数据统计 */ private executeTrans; /** * 数据聚合 */ private initCluster; private caculClusterExtent; }