import type { IMarker, RaContainer } from '@ramap/ra-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 maplet; private zoom; private bbox; private inited; private containerSize; constructor(option?: Partial); getDefault(): { cluster: boolean; clusterOption: { radius: number; maxZoom: number; minZoom: number; zoom: number; style: {}; className: string; }; }; addTo(maplet: RaContainer): 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 addPoint; private removePoint; private initCluster; private getClusterMarker; private getLeaves; private clusterMarker; private normalMarker; private update; private generateElement; }