UNPKG

2.73 kBTypeScriptView Raw
1/**
2 * MapboxService
3 */
4import { Bounds, ILngLat, IMapService, IMercator, IPoint, IStatusOptions, IViewport } from '@antv/l7-core';
5import mapboxgl, { Map } from 'mapbox-gl';
6import 'mapbox-gl/dist/mapbox-gl.css';
7import { IMapboxInstance } from '../../typings/index';
8/**
9 * AMapService
10 */
11export default class MapboxService implements IMapService<Map & IMapboxInstance> {
12 map: Map & IMapboxInstance;
13 private readonly config;
14 private readonly configService;
15 private readonly logger;
16 private readonly coordinateSystemService;
17 private eventEmitter;
18 private viewport;
19 private markerContainer;
20 private cameraChangedCallback;
21 private $mapContainer;
22 addMarkerContainer(): void;
23 getMarkerContainer(): HTMLElement;
24 on(type: string, handle: (...args: any[]) => void): void;
25 off(type: string, handle: (...args: any[]) => void): void;
26 getContainer(): HTMLElement | null;
27 getMapCanvasContainer(): HTMLElement;
28 getSize(): [number, number];
29 getType(): string;
30 getZoom(): number;
31 setZoom(zoom: number): mapboxgl.Map & IMapboxInstance;
32 getCenter(): ILngLat;
33 setCenter(lnglat: [number, number]): void;
34 getPitch(): number;
35 getRotation(): number;
36 getBounds(): Bounds;
37 getMinZoom(): number;
38 getMaxZoom(): number;
39 setRotation(rotation: number): void;
40 zoomIn(option?: any, eventData?: any): void;
41 zoomOut(option?: any, eventData?: any): void;
42 setPitch(pitch: number): mapboxgl.Map & IMapboxInstance;
43 panTo(p: [number, number]): void;
44 panBy(pixel: [number, number]): void;
45 fitBounds(bound: Bounds, fitBoundsOptions?: unknown): void;
46 setMaxZoom(max: number): void;
47 setMinZoom(min: number): void;
48 setMapStatus(option: Partial<IStatusOptions>): void;
49 setZoomAndCenter(zoom: number, center: [number, number]): void;
50 setMapStyle(style: any): void;
51 pixelToLngLat(pixel: [number, number]): ILngLat;
52 lngLatToPixel(lnglat: [number, number]): IPoint;
53 containerToLngLat(pixel: [number, number]): ILngLat;
54 lngLatToContainer(lnglat: [number, number]): IPoint;
55 lngLatToMercator(lnglat: [number, number], altitude: number): IMercator;
56 getModelMatrix(lnglat: [number, number], altitude: number, rotate: [number, number, number], scale?: [number, number, number], origin?: IMercator): number[];
57 init(): Promise<void>;
58 destroy(): void;
59 emit(name: string, ...args: any[]): void;
60 once(name: string, ...args: any[]): void;
61 getMapContainer(): HTMLElement | null;
62 exportMap(type: 'jpg' | 'png'): string;
63 onCameraChanged(callback: (viewport: IViewport) => void): void;
64 private handleCameraChanged;
65 private creatAmapContainer;
66 private getMapStyle;
67}