UNPKG

@orca-fe/x-map

Version:
41 lines (40 loc) 2.49 kB
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; }