import { default as OLMap } from 'ol/Map'; import { Feature } from 'ol'; import { Geometry } from 'ol/geom'; import { MapConfig, Coordinate } from '../types/config'; export declare class MapController { private map; private view; private container; private eventListeners; private layerRegistry; private resizeObserver; constructor(); /** * 初始化地图 */ initialize(container: HTMLElement, config: MapConfig): Promise; /** * 调试地图状态 */ private debugMapState; /** * 创建地图控件 */ private createControls; /** * 设置容器尺寸变化监听器 */ private setupResizeObserver; /** * 设置事件监听器 */ private setupEventListeners; /** * 处理地图点击事件 */ private handleMapClick; /** * 处理地图移动结束事件 */ private handleMapMoveEnd; /** * 触发自定义事件 */ private dispatchEvent; /** * 添加图层 */ addLayer(layerId: string, layer: any): void; /** * 移除图层 */ removeLayer(layerId: string): void; /** * 获取图层 */ getLayer(layerId: string): any; /** * 设置图层可见性 */ setLayerVisible(layerId: string, visible: boolean): void; /** * 设置图层透明度 */ setLayerOpacity(layerId: string, opacity: number): void; /** * 缩放到指定范围 */ zoomToExtent(extent: number[], options?: { padding?: number; duration?: number; }): void; /** * 缩放到图层 */ zoomToLayer(layerId: string): void; /** * 设置中心点 */ setCenter(coordinate: Coordinate): void; /** * 获取中心点 */ getCenter(): [number, number] | undefined; /** * 设置缩放级别 */ setZoom(zoom: number): void; /** * 获取缩放级别 */ getZoom(): number | undefined; /** * 获取当前视图范围 */ getExtent(): number[] | undefined; /** * 获取当前视图范围(经纬度) */ getExtentInLonLat(): number[] | undefined; /** * 获取投影坐标系 */ getProjection(): string; /** * 获取地图大小 */ getSize(): [number, number] | undefined; /** * 刷新地图 */ refresh(): void; /** * 添加要素到选择集合 */ selectFeature(feature: Feature): void; /** * 清除选择 */ clearSelection(): void; /** * 获取地图实例(谨慎使用) */ getMap(): OLMap | null; /** * 销毁地图 */ destroy(): void; }