import { Map } from 'ol'; import View from 'ol/View'; import { ESOlViewer } from "../../ESOlViewer"; import { Destroyable, Event as XEvent } from "@u-gis/core"; /** * 从 OpenLayers 的视图中提取近似的“相机位置” * @param viewer ESOlViewer 实例(需包含 map 和可选高度计算) * @param result 可选复用结果数组 * @returns [lon, lat, height] 相机坐标 */ export declare function getCameraPosition(viewer: ESOlViewer, result?: [number, number, number]): [number, number, number]; export interface OlViewChangedOptions { emitImmediately?: boolean; usePostRender?: boolean; throttleMs?: number; useRaf?: boolean; } /** * 统一监听 OpenLayers 视图变化(等价 Cesium 的 CzmCameraChanged) * - view center / resolution / rotation * - map size * - (可选)postrender * 并转发为一个 changed 事件。 */ export declare class OlViewChanged extends Destroyable { private _map?; private _view; private _enabled; private _keys; private _changed; private _options; private _rafPending; private _rafId; private _lastEmit; constructor(mapOrView: Map | View, options?: OlViewChangedOptions); get changed(): XEvent<[]>; get enabled(): boolean; set enabled(v: boolean); /** * 若一开始只传了 view,可后续补 map 以监听 change:size/postrender */ attachMap(map: Map): void; /** 统一封装绑定&自动加入 dispose */ private _on; private _attach; private _detach; private _scheduleEmit; private _emitWithThrottle; private _emit; } //# sourceMappingURL=olcameraUtils.d.ts.map