import type { ILayer, ILayerService, ILngLat, IRendererService, ITile } from '@antv/l7-core'; import type { SourceTile } from '@antv/l7-utils'; interface ITileLayerServiceOptions { rendererService: IRendererService; layerService: ILayerService; parent: ILayer; } export declare class TileLayerService { /** * tileResource 用于存储瓦片的全局资源 */ tileResource: Map; private rendererService; private layerService; private parent; /** * 使用 Map 存储瓦片实例,查找复杂度从 O(n) 降为 O(1) */ private layerTilesMap; /** * 待销毁瓦片队列,用于分帧销毁 */ private pendingDestroyQueue; private maxDestroyPerFrame; /** * 渲染图层缓存 */ private renderLayersCache; private renderCacheDirty; constructor({ rendererService, layerService, parent }: ITileLayerServiceOptions); get tiles(): ITile[]; /** * 获取待销毁瓦片数量 */ get pendingDestroyCount(): number; hasTile(tileKey: string): boolean; addTile(tile: ITile): void; getTile(tileKey: string): ITile | undefined; getVisibleTileBylngLat(lngLat: ILngLat): ITile | undefined; removeTile(tileKey: string): void; /** * 分帧销毁待销毁队列中的瓦片 */ processPendingDestroys(): void; /** * 标记渲染缓存为脏 */ markRenderCacheDirty(): void; updateTileVisible(sourceTile: SourceTile): void; isParentLoaded(sourceTile: SourceTile): boolean; isChildrenLoaded(sourceTile: SourceTile): boolean; render(): Promise; getRenderLayers(): ILayer[]; getLayers(): ILayer[]; getTiles(): ITile[]; destroy(): void; } export {};