@orca-fe/x-map
Version:
41 lines (40 loc) • 2.49 kB
TypeScript
import { FitBoundsOptions } from '@math.gl/web-mercator/src/fit-bounds';
import { Mat4, Point, Size, Viewport } from '../defs';
import MapController, { Bounds, MapControllerOptions } from './MapController';
import BaseInstance from '../instance/BaseInstance';
import IMap from './IMap';
import { Transition } from '../utils/transition';
import AbstractLayer from '../layers/AbstractLayer';
export interface XMapOptions<M extends BaseInstance> extends MapControllerOptions {
mapInstance: M;
limit?: Bounds;
defaultViewport?: Viewport;
threeCenter?: Point;
}
export default class Map<M extends BaseInstance> implements IMap {
layersContainer: HTMLElement;
layers: Set<AbstractLayer<any, Node>>;
controller: MapController;
mapInstance: M;
readonly threeCenter: Point;
constructor(id: string | HTMLElement, options: XMapOptions<M>);
destroy: () => void;
updateLayers: (viewport?: import("../defs").MapViewport) => void;
protected readonly registerLayerRenderer: () => void;
add: (layer: AbstractLayer) => void;
remove: (layer: AbstractLayer) => void;
lnglatToPixel: (pos: Point) => Point;
pixelToLnglat: (pixel: Point) => Point;
getViewport: () => import("@math.gl/web-mercator").default;
setViewport: (viewport: Partial<Viewport>) => void;
transition?: Transition<any>;
panTo: (pos: Point) => Promise<void>;
flyTo: (target: Partial<Viewport>, duration?: number) => Promise<void>;
getThreeMatrix: (classical?: boolean) => [Mat4, Mat4];
getSize(): Size;
on: (eventName: keyof import("./MapControllerEvent").MapControllerEventObj, listener: ((zoom: number) => void) | (() => void) | (() => void) | ((zoom: number) => void) | ((zoom: number) => void) | ((viewport: import("../defs").MapViewport) => void) | ((viewport: import("../defs").MapViewport) => void) | (() => void)) => this;
off: (eventName: keyof import("./MapControllerEvent").MapControllerEventObj, listener: ((zoom: number) => void) | (() => void) | (() => void) | ((zoom: number) => void) | ((zoom: number) => void) | ((viewport: import("../defs").MapViewport) => void) | ((viewport: import("../defs").MapViewport) => void) | (() => void)) => this;
getBounds(): Bounds;
setBounds(bounds: Bounds, options?: Omit<FitBoundsOptions, 'width' | 'height' | 'bounds'>): void;
fromBounds(bounds: Bounds, options?: Omit<FitBoundsOptions, 'width' | 'height' | 'bounds'>): Viewport;
}