import type { IViewport } from '@antv/l7-core'; import type WebMercatorViewport from 'viewport-mercator-project'; export interface IEarthCamera { viewportHeight: number; viewportWidth: number; } export default class Viewport implements IViewport { private xzReg; private yReg; private earthCameraRadius; private earthCameraZoom; private cameraPosition; protected viewport: WebMercatorViewport; private projectionMatrix; private modelMatrix; private viewMatrix; private viewProjectionMatrix; private ViewProjectionMatrixUncentered; private viewUncenteredMatrix; syncWithMapCamera(mapCamera: Partial): void; /** * 旋转方法 Y 轴 * @param r */ rotateY(r: number): void; /** * 旋转方法 X 轴 * @param r */ rotateX(r: number): void; /** * 缩放方法 * @param z */ scaleZoom(z: number): void; getZoom(): number; getZoomScale(): number; getCenter(): [number, number]; getProjectionMatrix(): number[]; getModelMatrix(): number[]; getViewMatrix(): number[]; getViewMatrixUncentered(): number[]; getViewProjectionMatrix(): number[]; getViewProjectionMatrixUncentered(): number[]; getFocalDistance(): number; projectFlat(lngLat: [number, number], scale?: number | undefined): [number, number]; }