1 |
|
2 |
|
3 |
|
4 | import { Bounds, ILngLat, IMapService, IMercator, IPoint, IStatusOptions, IViewport } from '@antv/l7-core';
|
5 | import mapboxgl, { Map } from 'mapbox-gl';
|
6 | import 'mapbox-gl/dist/mapbox-gl.css';
|
7 | import { IMapboxInstance } from '../../typings/index';
|
8 |
|
9 |
|
10 |
|
11 | export 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 | }
|