UNPKG

@maplibre/ngx-maplibre-gl

Version:
113 lines (112 loc) 6.32 kB
import { OutputEmitterRef } from '@angular/core'; import { type CameraOptions, type FlyToOptions, type LngLatLike, type MapOptions, type MarkerOptions, type PopupOptions, Map as MaplibreMap, Marker, Popup, type AnimationOptions, type LayerSpecification, type StyleSpecification, type LngLatBoundsLike, type PointLike, type IControl, type SourceSpecification, type FitBoundsOptions, type Source, type BackgroundLayerSpecification, type FillLayerSpecification, type FillExtrusionLayerSpecification, type LineLayerSpecification, type SymbolLayerSpecification, type RasterLayerSpecification, type CircleLayerSpecification, type FilterSpecification, type TerrainSpecification, type QueryRenderedFeaturesOptions, type ControlPosition, type ProjectionSpecification } from 'maplibre-gl'; import type { LayerEvents, MapEvent, MapImageData, MapImageOptions } from './map.types'; import * as i0 from "@angular/core"; export interface SetupMap { mapOptions: Omit<MapOptions, 'bearing' | 'pitch' | 'zoom'> & { bearing?: [number]; pitch?: [number]; zoom?: [number]; terrain?: TerrainSpecification; projection?: ProjectionSpecification; }; mapEvents: MapEvent; } export interface SetupLayer { layerOptions: LayerSpecification; layerEvents: LayerEvents; } export interface SetupPopup { popupOptions: PopupOptions; popupEvents: { popupOpen: OutputEmitterRef<void>; popupClose: OutputEmitterRef<void>; }; } export interface SetupMarkerOptions extends MarkerOptions { element: HTMLElement; feature?: GeoJSON.Feature<GeoJSON.Point>; lngLat?: LngLatLike; } export interface SetupMarker { markersOptions: SetupMarkerOptions; markersEvents: { markerDragStart: OutputEmitterRef<Marker>; markerDrag: OutputEmitterRef<Marker>; markerDragEnd: OutputEmitterRef<Marker>; }; } export type MovingOptions = FlyToOptions | (AnimationOptions & CameraOptions) | CameraOptions; export declare class MapService { private readonly zone; mapInstance: MaplibreMap; mapEvents: MapEvent; private readonly subscriptionsPerInstance; private readonly mapCreated; private readonly mapLoaded; private readonly markersToRemove; private readonly popupsToRemove; private readonly imageIdsToRemove; readonly mapCreated$: import("rxjs").Observable<void>; readonly mapLoaded$: import("rxjs").Observable<void>; setup(options: SetupMap): void; destroyMap(): void; updateMinZoom(minZoom: number): void; updateMaxZoom(maxZoom: number): void; updateMinPitch(minPitch: number): void; updateMaxPitch(maxPitch: number): void; updateRenderWorldCopies(status: boolean): void; updateScrollZoom(status: boolean): void; updateDragRotate(status: boolean): void; updateTouchPitch(status: boolean): void; updateTouchZoomRotate(status: boolean): void; updateDoubleClickZoom(status: boolean): void; updateKeyboard(status: boolean): void; updateDragPan(status: boolean): void; updateBoxZoom(status: boolean): void; updateStyle(style: StyleSpecification): void; updateMaxBounds(maxBounds: LngLatBoundsLike): void; setProjection(options: ProjectionSpecification): void; setTerrain(options: TerrainSpecification): void; getTerrain(): TerrainSpecification | null; setCenterElevation(elevation: number): void; changeCanvasCursor(cursor: string): void; queryRenderedFeatures(pointOrBox?: PointLike | [PointLike, PointLike] | QueryRenderedFeaturesOptions, parameters?: QueryRenderedFeaturesOptions): GeoJSON.Feature<GeoJSON.GeometryObject>[]; panTo(center: LngLatLike, options?: AnimationOptions): void; move(movingMethod: 'jumpTo' | 'easeTo' | 'flyTo', movingOptions?: MovingOptions, zoom?: number, center?: LngLatLike, bearing?: number, pitch?: number, roll?: number): void; addLayer(layer: SetupLayer, bindEvents: boolean, before?: string): void; removeLayer(layerId: string): void; addMarker(marker: SetupMarker): Marker; removeMarker(marker: Marker): void; createPopup(popup: SetupPopup, element: Node): Popup; addPopupToMap(popup: Popup, lngLat: LngLatLike): void; addPopupToMarker(marker: Marker, popup: Popup): void; removePopupFromMap(popup: Popup): void; removePopupFromMarker(marker: Marker): void; addControl(control: IControl, position?: ControlPosition): void; removeControl(control: IControl): void; loadAndAddImage(imageId: string, url: string, options?: MapImageOptions): Promise<void>; addImage(imageId: string, data: MapImageData, options?: MapImageOptions): void; removeImage(imageId: string): void; addSource(sourceId: string, source: SourceSpecification): void; getSource<T extends Source>(sourceId: string): T; removeSource(sourceId: string): void; setAllLayerPaintProperty(layerId: string, paint: BackgroundLayerSpecification['paint'] | FillLayerSpecification['paint'] | FillExtrusionLayerSpecification['paint'] | LineLayerSpecification['paint'] | SymbolLayerSpecification['paint'] | RasterLayerSpecification['paint'] | CircleLayerSpecification['paint']): void; setAllLayerLayoutProperty(layerId: string, layout: BackgroundLayerSpecification['layout'] | FillLayerSpecification['layout'] | FillExtrusionLayerSpecification['layout'] | LineLayerSpecification['layout'] | SymbolLayerSpecification['layout'] | RasterLayerSpecification['layout'] | CircleLayerSpecification['layout']): void; setLayerFilter(layerId: string, filter: FilterSpecification | null | undefined): void; setLayerBefore(layerId: string, beforeId: string): void; setLayerZoomRange(layerId: string, minZoom?: number, maxZoom?: number): void; fitBounds(bounds: LngLatBoundsLike, options?: FitBoundsOptions): void; fitScreenCoordinates(points: [PointLike, PointLike], bearing: number, options?: AnimationOptions & CameraOptions): void; clearMapElements(): void; private createMap; private removeMarkers; private removePopups; private removeImages; private findLayersBySourceId; private hookEvents; private createSubscriptionForLayer; private createSubscriptionForPopup; static ɵfac: i0.ɵɵFactoryDeclaration<MapService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<MapService>; }