@maplibre/ngx-maplibre-gl
Version:
A Angular binding of maplibre-gl
225 lines (224 loc) • 20.7 kB
TypeScript
import { ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import type { AnimationOptions, LngLatBoundsLike, Map, MapLibreEvent, MapLibreZoomEvent, MapContextEvent, MapDataEvent, MapMouseEvent, MapTouchEvent, MapWheelEvent, PointLike, TerrainSpecification, ProjectionSpecification } from 'maplibre-gl';
import { type MovingOptions } from './map.service';
import type { MapEvent, EventData } from './map.types';
import * as i0 from "@angular/core";
/**
* `mgl-map` - The main map component
* @see [Map](https://maplibre.org/maplibre-gl-js/docs/API/classes/Map/)
*
* @category Map Component
*
* @example
* ```typescript
* ...
* @Component({
* template: `
* <mgl-map
* [style]="'https://demotiles.maplibre.org/style.json'"
* [zoom]="[9]"
* [center]="[-74.50, 40]"
* (mapLoad)="map = $event"
* ></mgl-map>
* `,
* ...
* })
* export class DisplayMapComponent {
* map: Map; // MapLibre GL Map object (MapLibre is ran outside angular zone, keep that in mind when binding events from this object)
* ...
* }
* ```
*/
export declare class MapComponent implements OnChanges, OnDestroy, MapEvent {
private readonly mapService;
private readonly elementRef;
/** Init input */
readonly collectResourceTiming: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly crossSourceCollisions: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly customMapboxApiUrl: import("@angular/core").InputSignal<string | undefined>;
/** Init input */
readonly fadeDuration: import("@angular/core").InputSignal<number | undefined>;
/** Init input */
readonly hash: import("@angular/core").InputSignal<string | boolean | undefined>;
/** Init input */
readonly refreshExpiredTiles: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly canvasContextAttributes: import("@angular/core").InputSignal<import("maplibre-gl").WebGLContextAttributesWithType | undefined>;
/** Init input */
readonly bearingSnap: import("@angular/core").InputSignal<number | undefined>;
/** Init input */
readonly interactive: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly pitchWithRotate: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly clickTolerance: import("@angular/core").InputSignal<number | undefined>;
/** Init input */
readonly attributionControl: import("@angular/core").InputSignal<false | import("maplibre-gl").AttributionControlOptions | undefined>;
/** Init input */
readonly logoPosition: import("@angular/core").InputSignal<import("maplibre-gl").ControlPosition | undefined>;
/** Init input */
readonly maxTileCacheSize: import("@angular/core").InputSignal<number | null | undefined>;
/** Init input */
readonly localIdeographFontFamily: import("@angular/core").InputSignal<string | false | undefined>;
/** Init input */
readonly trackResize: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly transformRequest: import("@angular/core").InputSignal<import("maplibre-gl").RequestTransformFunction | null | undefined>;
/** Init input */
readonly bounds: import("@angular/core").InputSignal<LngLatBoundsLike | undefined>;
/** Init input */
readonly locale: import("@angular/core").InputSignal<any>;
/** Init input */
readonly cooperativeGestures: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly cancelPendingTileRequestsWhileZooming: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly centerClampedToGround: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly maplibreLogo: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly maxCanvasSize: import("@angular/core").InputSignal<[number, number] | undefined>;
/** Init input */
readonly maxTileCacheZoomLevels: import("@angular/core").InputSignal<number | undefined>;
/** Init input */
readonly pixelRatio: import("@angular/core").InputSignal<number | undefined>;
/** Init input */
readonly rollEnabled: import("@angular/core").InputSignal<boolean | undefined>;
/** Init input */
readonly transformCameraUpdate: import("@angular/core").InputSignal<import("maplibre-gl").CameraUpdateTransformFunction | null | undefined>;
/** Init input */
readonly validateStyle: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly minZoom: import("@angular/core").InputSignal<number | null | undefined>;
/** Dynamic input */
readonly maxZoom: import("@angular/core").InputSignal<number | null | undefined>;
/** Dynamic input */
readonly minPitch: import("@angular/core").InputSignal<number | null | undefined>;
/** Dynamic input */
readonly maxPitch: import("@angular/core").InputSignal<number | null | undefined>;
/** Dynamic input */
readonly scrollZoom: import("@angular/core").InputSignal<boolean | import("maplibre-gl").AroundCenterOptions | undefined>;
/** Dynamic input */
readonly dragRotate: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly touchPitch: import("@angular/core").InputSignal<boolean | import("maplibre-gl").AroundCenterOptions | undefined>;
/** Dynamic input */
readonly touchZoomRotate: import("@angular/core").InputSignal<boolean | import("maplibre-gl").AroundCenterOptions | undefined>;
/** Dynamic input */
readonly doubleClickZoom: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly keyboard: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly dragPan: import("@angular/core").InputSignal<boolean | import("maplibre-gl").DragPanOptions | undefined>;
/** Dynamic input */
readonly boxZoom: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly style: import("@angular/core").InputSignal<string | import("maplibre-gl").StyleSpecification | undefined>;
/** Dynamic input */
readonly center: import("@angular/core").InputSignal<import("maplibre-gl").LngLatLike | undefined>;
/** Dynamic input */
readonly maxBounds: import("@angular/core").InputSignal<LngLatBoundsLike | undefined>;
/** Dynamic input */
readonly zoom: import("@angular/core").InputSignal<[number] | undefined>;
/** Dynamic input */
readonly bearing: import("@angular/core").InputSignal<[number] | undefined>;
/** Dynamic input */
readonly pitch: import("@angular/core").InputSignal<[number] | undefined>;
/** Dynamic input */
readonly roll: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input */
readonly fitBoundsOptions: import("@angular/core").InputSignal<import("maplibre-gl").FitBoundsOptions | undefined>;
/** Dynamic input */
readonly renderWorldCopies: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly elevation: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input that is not part of the `MapOptions` object */
readonly terrain: import("@angular/core").InputSignal<TerrainSpecification | undefined>;
/** Dynamic input that is not part of the `MapOptions` object */
readonly projection: import("@angular/core").InputSignal<ProjectionSpecification | undefined>;
/** Added by ngx-mapbox-gl */
readonly movingMethod: import("@angular/core").InputSignal<"jumpTo" | "easeTo" | "flyTo">;
readonly movingOptions: import("@angular/core").InputSignal<MovingOptions | undefined>;
readonly fitBounds: import("@angular/core").InputSignal<LngLatBoundsLike | undefined>;
readonly fitScreenCoordinates: import("@angular/core").InputSignal<[PointLike, PointLike] | undefined>;
readonly centerWithPanTo: import("@angular/core").InputSignal<boolean | undefined>;
readonly panToOptions: import("@angular/core").InputSignal<AnimationOptions | undefined>;
readonly cursorStyle: import("@angular/core").InputSignal<string | undefined>;
readonly mapResize: import("@angular/core").OutputEmitterRef<MapLibreEvent & EventData>;
readonly mapRemove: import("@angular/core").OutputEmitterRef<MapLibreEvent & EventData>;
readonly mapMouseDown: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapMouseUp: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapMouseMove: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapClick: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapDblClick: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapMouseOver: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapMouseOut: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapContextMenu: import("@angular/core").OutputEmitterRef<MapMouseEvent & EventData>;
readonly mapTouchStart: import("@angular/core").OutputEmitterRef<MapTouchEvent & EventData>;
readonly mapTouchEnd: import("@angular/core").OutputEmitterRef<MapTouchEvent & EventData>;
readonly mapTouchMove: import("@angular/core").OutputEmitterRef<MapTouchEvent & EventData>;
readonly mapTouchCancel: import("@angular/core").OutputEmitterRef<MapTouchEvent & EventData>;
readonly mapWheel: import("@angular/core").OutputEmitterRef<MapWheelEvent & EventData>;
readonly moveStart: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | WheelEvent | undefined> & EventData>;
readonly move: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | WheelEvent | undefined> & EventData>;
readonly moveEnd: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | WheelEvent | undefined> & EventData>;
readonly mapDragStart: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly mapDrag: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly mapDragEnd: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly zoomStart: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | WheelEvent | undefined> & EventData>;
readonly zoomEvt: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | WheelEvent | undefined> & EventData>;
readonly zoomEnd: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | WheelEvent | undefined> & EventData>;
readonly rotateStart: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly rotate: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly rotateEnd: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly pitchStart: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly pitchEvt: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly pitchEnd: import("@angular/core").OutputEmitterRef<MapLibreEvent<MouseEvent | TouchEvent | undefined> & EventData>;
readonly boxZoomStart: import("@angular/core").OutputEmitterRef<MapLibreZoomEvent & EventData>;
readonly boxZoomEnd: import("@angular/core").OutputEmitterRef<MapLibreZoomEvent & EventData>;
readonly boxZoomCancel: import("@angular/core").OutputEmitterRef<MapLibreZoomEvent & EventData>;
readonly webGlContextLost: import("@angular/core").OutputEmitterRef<MapContextEvent & EventData>;
readonly webGlContextRestored: import("@angular/core").OutputEmitterRef<MapContextEvent & EventData>;
readonly mapLoad: import("@angular/core").OutputEmitterRef<Map>;
readonly idle: import("@angular/core").OutputEmitterRef<MapLibreEvent & EventData>;
readonly render: import("@angular/core").OutputEmitterRef<MapLibreEvent & EventData>;
readonly mapError: import("@angular/core").OutputEmitterRef<ErrorEvent & EventData>;
readonly data: import("@angular/core").OutputEmitterRef<MapDataEvent & EventData>;
readonly styleData: import("@angular/core").OutputEmitterRef<MapLibreEvent<unknown> & {
dataType: "style";
} & EventData>;
readonly sourceData: import("@angular/core").OutputEmitterRef<MapLibreEvent<unknown> & {
dataType: "source";
isSourceLoaded: boolean;
source: import("maplibre-gl").SourceSpecification;
sourceId: string;
sourceDataType: import("maplibre-gl").MapSourceDataType;
sourceDataChanged?: boolean;
tile: any;
} & EventData>;
readonly dataLoading: import("@angular/core").OutputEmitterRef<MapDataEvent & EventData>;
readonly styleDataLoading: import("@angular/core").OutputEmitterRef<MapLibreEvent<unknown> & {
dataType: "style";
} & EventData>;
readonly sourceDataLoading: import("@angular/core").OutputEmitterRef<MapLibreEvent<unknown> & {
dataType: "source";
isSourceLoaded: boolean;
source: import("maplibre-gl").SourceSpecification;
sourceId: string;
sourceDataType: import("maplibre-gl").MapSourceDataType;
sourceDataChanged?: boolean;
tile: any;
} & EventData>;
readonly styleImageMissing: import("@angular/core").OutputEmitterRef<{
id: string;
} & EventData>;
get mapInstance(): Map;
readonly mapContainer: import("@angular/core").Signal<ElementRef<HTMLDivElement>>;
constructor();
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): Promise<void>;
static ɵfac: i0.ɵɵFactoryDeclaration<MapComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MapComponent, "mgl-map", never, { "collectResourceTiming": { "alias": "collectResourceTiming"; "required": false; "isSignal": true; }; "crossSourceCollisions": { "alias": "crossSourceCollisions"; "required": false; "isSignal": true; }; "customMapboxApiUrl": { "alias": "customMapboxApiUrl"; "required": false; "isSignal": true; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; "isSignal": true; }; "hash": { "alias": "hash"; "required": false; "isSignal": true; }; "refreshExpiredTiles": { "alias": "refreshExpiredTiles"; "required": false; "isSignal": true; }; "canvasContextAttributes": { "alias": "canvasContextAttributes"; "required": false; "isSignal": true; }; "bearingSnap": { "alias": "bearingSnap"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "pitchWithRotate": { "alias": "pitchWithRotate"; "required": false; "isSignal": true; }; "clickTolerance": { "alias": "clickTolerance"; "required": false; "isSignal": true; }; "attributionControl": { "alias": "attributionControl"; "required": false; "isSignal": true; }; "logoPosition": { "alias": "logoPosition"; "required": false; "isSignal": true; }; "maxTileCacheSize": { "alias": "maxTileCacheSize"; "required": false; "isSignal": true; }; "localIdeographFontFamily": { "alias": "localIdeographFontFamily"; "required": false; "isSignal": true; }; "trackResize": { "alias": "trackResize"; "required": false; "isSignal": true; }; "transformRequest": { "alias": "transformRequest"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "cooperativeGestures": { "alias": "cooperativeGestures"; "required": false; "isSignal": true; }; "cancelPendingTileRequestsWhileZooming": { "alias": "cancelPendingTileRequestsWhileZooming"; "required": false; "isSignal": true; }; "centerClampedToGround": { "alias": "centerClampedToGround"; "required": false; "isSignal": true; }; "maplibreLogo": { "alias": "maplibreLogo"; "required": false; "isSignal": true; }; "maxCanvasSize": { "alias": "maxCanvasSize"; "required": false; "isSignal": true; }; "maxTileCacheZoomLevels": { "alias": "maxTileCacheZoomLevels"; "required": false; "isSignal": true; }; "pixelRatio": { "alias": "pixelRatio"; "required": false; "isSignal": true; }; "rollEnabled": { "alias": "rollEnabled"; "required": false; "isSignal": true; }; "transformCameraUpdate": { "alias": "transformCameraUpdate"; "required": false; "isSignal": true; }; "validateStyle": { "alias": "validateStyle"; "required": false; "isSignal": true; }; "minZoom": { "alias": "minZoom"; "required": false; "isSignal": true; }; "maxZoom": { "alias": "maxZoom"; "required": false; "isSignal": true; }; "minPitch": { "alias": "minPitch"; "required": false; "isSignal": true; }; "maxPitch": { "alias": "maxPitch"; "required": false; "isSignal": true; }; "scrollZoom": { "alias": "scrollZoom"; "required": false; "isSignal": true; }; "dragRotate": { "alias": "dragRotate"; "required": false; "isSignal": true; }; "touchPitch": { "alias": "touchPitch"; "required": false; "isSignal": true; }; "touchZoomRotate": { "alias": "touchZoomRotate"; "required": false; "isSignal": true; }; "doubleClickZoom": { "alias": "doubleClickZoom"; "required": false; "isSignal": true; }; "keyboard": { "alias": "keyboard"; "required": false; "isSignal": true; }; "dragPan": { "alias": "dragPan"; "required": false; "isSignal": true; }; "boxZoom": { "alias": "boxZoom"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": true; "isSignal": true; }; "center": { "alias": "center"; "required": false; "isSignal": true; }; "maxBounds": { "alias": "maxBounds"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "bearing": { "alias": "bearing"; "required": false; "isSignal": true; }; "pitch": { "alias": "pitch"; "required": false; "isSignal": true; }; "roll": { "alias": "roll"; "required": false; "isSignal": true; }; "fitBoundsOptions": { "alias": "fitBoundsOptions"; "required": false; "isSignal": true; }; "renderWorldCopies": { "alias": "renderWorldCopies"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "terrain": { "alias": "terrain"; "required": false; "isSignal": true; }; "projection": { "alias": "projection"; "required": false; "isSignal": true; }; "movingMethod": { "alias": "movingMethod"; "required": false; "isSignal": true; }; "movingOptions": { "alias": "movingOptions"; "required": false; "isSignal": true; }; "fitBounds": { "alias": "fitBounds"; "required": false; "isSignal": true; }; "fitScreenCoordinates": { "alias": "fitScreenCoordinates"; "required": false; "isSignal": true; }; "centerWithPanTo": { "alias": "centerWithPanTo"; "required": false; "isSignal": true; }; "panToOptions": { "alias": "panToOptions"; "required": false; "isSignal": true; }; "cursorStyle": { "alias": "cursorStyle"; "required": false; "isSignal": true; }; }, { "mapResize": "mapResize"; "mapRemove": "mapRemove"; "mapMouseDown": "mapMouseDown"; "mapMouseUp": "mapMouseUp"; "mapMouseMove": "mapMouseMove"; "mapClick": "mapClick"; "mapDblClick": "mapDblClick"; "mapMouseOver": "mapMouseOver"; "mapMouseOut": "mapMouseOut"; "mapContextMenu": "mapContextMenu"; "mapTouchStart": "mapTouchStart"; "mapTouchEnd": "mapTouchEnd"; "mapTouchMove": "mapTouchMove"; "mapTouchCancel": "mapTouchCancel"; "mapWheel": "mapWheel"; "moveStart": "moveStart"; "move": "move"; "moveEnd": "moveEnd"; "mapDragStart": "mapDragStart"; "mapDrag": "mapDrag"; "mapDragEnd": "mapDragEnd"; "zoomStart": "zoomStart"; "zoomEvt": "zoomEvt"; "zoomEnd": "zoomEnd"; "rotateStart": "rotateStart"; "rotate": "rotate"; "rotateEnd": "rotateEnd"; "pitchStart": "pitchStart"; "pitchEvt": "pitchEvt"; "pitchEnd": "pitchEnd"; "boxZoomStart": "boxZoomStart"; "boxZoomEnd": "boxZoomEnd"; "boxZoomCancel": "boxZoomCancel"; "webGlContextLost": "webGlContextLost"; "webGlContextRestored": "webGlContextRestored"; "mapLoad": "mapLoad"; "idle": "idle"; "render": "render"; "mapError": "mapError"; "data": "data"; "styleData": "styleData"; "sourceData": "sourceData"; "dataLoading": "dataLoading"; "styleDataLoading": "styleDataLoading"; "sourceDataLoading": "sourceDataLoading"; "styleImageMissing": "styleImageMissing"; }, never, never, true, never>;
}