import type { IMarker, L7Container } from '@antv/l7-core'; import { EventEmitter } from 'eventemitter3'; import type { IMarkerLayerOption } from './interface'; export default class MarkerLayer extends EventEmitter { private markers; private markerLayerOption; private clusterIndex; private points; private clusterMarkers; private mapsService; private scene; private zoom; private bbox; private inited; private containerSize; constructor(option?: Partial); getDefault(): IMarkerLayerOption; addTo(scene: L7Container): this; private setContainerSize; private getContainerSize; addMarker(marker: IMarker): void; removeMarker(marker: IMarker): void; /** * 隐藏 marker 在每个 marker 上单独修改属性而不是在 markerContainer 上修改(在 markerContainer 修改会有用户在场景加载完之前调用失败的问题) */ hide(): void; /** * 显示 marker */ show(): void; getMarkers(): IMarker[]; getOriginMarkers(): IMarker[]; addMarkers(): void; clear(): void; destroy(): void; private updateMarkers; private addPoint; private removePoint; private initCluster; private getClusterMarker; private getLeaves; private clusterMarker; private normalMarker; private update; private generateElement; }