@tic-nova/ngx-mapbox-gl 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +3 -0
  2. package/esm2022/index.js +32 -0
  3. package/esm2022/index.js.map +1 -0
  4. package/esm2022/lib/control/attribution-control.directive.js +39 -0
  5. package/esm2022/lib/control/attribution-control.directive.js.map +1 -0
  6. package/esm2022/lib/control/control.component.js +62 -0
  7. package/esm2022/lib/control/control.component.js.map +1 -0
  8. package/esm2022/lib/control/fullscreen-control.directive.js +39 -0
  9. package/esm2022/lib/control/fullscreen-control.directive.js.map +1 -0
  10. package/esm2022/lib/control/geolocate-control.directive.js +52 -0
  11. package/esm2022/lib/control/geolocate-control.directive.js.map +1 -0
  12. package/esm2022/lib/control/navigation-control.directive.js +39 -0
  13. package/esm2022/lib/control/navigation-control.directive.js.map +1 -0
  14. package/esm2022/lib/control/scale-control.directive.js +45 -0
  15. package/esm2022/lib/control/scale-control.directive.js.map +1 -0
  16. package/esm2022/lib/draggable/draggable.directive.js +121 -0
  17. package/esm2022/lib/draggable/draggable.directive.js.map +1 -0
  18. package/esm2022/lib/image/image.component.js +79 -0
  19. package/esm2022/lib/image/image.component.js.map +1 -0
  20. package/esm2022/lib/layer/layer.component.js +139 -0
  21. package/esm2022/lib/layer/layer.component.js.map +1 -0
  22. package/esm2022/lib/map/map.component.js +381 -0
  23. package/esm2022/lib/map/map.component.js.map +1 -0
  24. package/esm2022/lib/map/map.service.js +725 -0
  25. package/esm2022/lib/map/map.service.js.map +1 -0
  26. package/esm2022/lib/map/map.types.js +30 -0
  27. package/esm2022/lib/map/map.types.js.map +1 -0
  28. package/esm2022/lib/marker/marker.component.js +114 -0
  29. package/esm2022/lib/marker/marker.component.js.map +1 -0
  30. package/esm2022/lib/markers-for-clusters/markers-for-clusters.component.js +168 -0
  31. package/esm2022/lib/markers-for-clusters/markers-for-clusters.component.js.map +1 -0
  32. package/esm2022/lib/popup/popup.component.js +124 -0
  33. package/esm2022/lib/popup/popup.component.js.map +1 -0
  34. package/esm2022/lib/provide-mapbox-gl.js +8 -0
  35. package/esm2022/lib/provide-mapbox-gl.js.map +1 -0
  36. package/esm2022/lib/source/canvas-source.component.js +74 -0
  37. package/esm2022/lib/source/canvas-source.component.js.map +1 -0
  38. package/esm2022/lib/source/geojson/feature.component.js +42 -0
  39. package/esm2022/lib/source/geojson/feature.component.js.map +1 -0
  40. package/esm2022/lib/source/geojson/geojson-source.component.js +204 -0
  41. package/esm2022/lib/source/geojson/geojson-source.component.js.map +1 -0
  42. package/esm2022/lib/source/image-source.component.js +58 -0
  43. package/esm2022/lib/source/image-source.component.js.map +1 -0
  44. package/esm2022/lib/source/raster-dem-source.component.js +91 -0
  45. package/esm2022/lib/source/raster-dem-source.component.js.map +1 -0
  46. package/esm2022/lib/source/raster-source.component.js +85 -0
  47. package/esm2022/lib/source/raster-source.component.js.map +1 -0
  48. package/esm2022/lib/source/vector-source.component.js +99 -0
  49. package/esm2022/lib/source/vector-source.component.js.map +1 -0
  50. package/esm2022/lib/source/video-source.component.js +80 -0
  51. package/esm2022/lib/source/video-source.component.js.map +1 -0
  52. package/esm2022/ngx-mapbox-gl.js +5 -0
  53. package/esm2022/ngx-mapbox-gl.js.map +1 -0
  54. package/index.d.ts +24 -0
  55. package/lib/control/attribution-control.directive.d.ts +11 -0
  56. package/lib/control/control.component.d.ts +21 -0
  57. package/lib/control/fullscreen-control.directive.d.ts +11 -0
  58. package/lib/control/geolocate-control.directive.d.ts +15 -0
  59. package/lib/control/navigation-control.directive.d.ts +11 -0
  60. package/lib/control/scale-control.directive.d.ts +12 -0
  61. package/lib/draggable/draggable.directive.d.ts +20 -0
  62. package/lib/image/image.component.d.ts +34 -0
  63. package/lib/layer/layer.component.d.ts +422 -0
  64. package/lib/map/map.component.d.ts +185 -0
  65. package/lib/map/map.service.d.ts +123 -0
  66. package/lib/map/map.types.d.ts +72 -0
  67. package/lib/marker/marker.component.d.ts +31 -0
  68. package/lib/markers-for-clusters/markers-for-clusters.component.d.ts +28 -0
  69. package/lib/popup/popup.component.d.ts +33 -0
  70. package/lib/provide-mapbox-gl.d.ts +6 -0
  71. package/lib/source/canvas-source.component.d.ts +23 -0
  72. package/lib/source/geojson/feature.component.d.ts +16 -0
  73. package/lib/source/geojson/geojson-source.component.d.ts +63 -0
  74. package/lib/source/image-source.component.d.ts +22 -0
  75. package/lib/source/raster-dem-source.component.d.ts +23 -0
  76. package/lib/source/raster-source.component.d.ts +23 -0
  77. package/lib/source/vector-source.component.d.ts +24 -0
  78. package/lib/source/video-source.component.d.ts +24 -0
  79. package/ngx-mapbox-gl.d.ts +5 -0
  80. package/package.json +44 -0
@@ -0,0 +1,185 @@
1
+ import { ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
+ import { MovingOptions } from './map.service';
3
+ import type { AnimationOptions, LngLatBoundsLike, Map, MapDataEvent, MapMouseEvent, MapSourceDataEvent, MapStyleDataEvent, MapTouchEvent, MapWheelEvent, PointLike } from 'mapbox-gl';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MapComponent implements OnChanges, OnDestroy {
6
+ private mapService;
7
+ accessToken: import("@angular/core").InputSignal<string | undefined>;
8
+ collectResourceTiming: import("@angular/core").InputSignal<boolean | undefined>;
9
+ crossSourceCollisions: import("@angular/core").InputSignal<boolean | undefined>;
10
+ fadeDuration: import("@angular/core").InputSignal<number | undefined>;
11
+ hash: import("@angular/core").InputSignal<string | boolean | undefined>;
12
+ refreshExpiredTiles: import("@angular/core").InputSignal<boolean | undefined>;
13
+ failIfMajorPerformanceCaveat: import("@angular/core").InputSignal<boolean | undefined>;
14
+ bearingSnap: import("@angular/core").InputSignal<number | undefined>;
15
+ interactive: import("@angular/core").InputSignal<boolean | undefined>;
16
+ pitchWithRotate: import("@angular/core").InputSignal<boolean | undefined>;
17
+ clickTolerance: import("@angular/core").InputSignal<number | undefined>;
18
+ attributionControl: import("@angular/core").InputSignal<boolean | undefined>;
19
+ logoPosition: import("@angular/core").InputSignal<import("mapbox-gl").ControlPosition | undefined>;
20
+ maxTileCacheSize: import("@angular/core").InputSignal<number | undefined>;
21
+ localIdeographFontFamily: import("@angular/core").InputSignal<string | undefined>;
22
+ preserveDrawingBuffer: import("@angular/core").InputSignal<boolean | undefined>;
23
+ trackResize: import("@angular/core").InputSignal<boolean | undefined>;
24
+ transformRequest: import("@angular/core").InputSignal<import("mapbox-gl").RequestTransformFunction | undefined>;
25
+ bounds: import("@angular/core").InputSignal<LngLatBoundsLike | undefined>;
26
+ antialias: import("@angular/core").InputSignal<boolean | undefined>;
27
+ locale: import("@angular/core").InputSignal<Partial<{
28
+ "AttributionControl.ToggleAttribution": string;
29
+ "FullscreenControl.Enter": string;
30
+ "FullscreenControl.Exit": string;
31
+ "GeolocateControl.FindMyLocation": string;
32
+ "GeolocateControl.LocationNotAvailable": string;
33
+ "LogoControl.Title": string;
34
+ "Map.Title": string;
35
+ "NavigationControl.ResetBearing": string;
36
+ "NavigationControl.ZoomIn": string;
37
+ "NavigationControl.ZoomOut": string;
38
+ "ScrollZoomBlocker.CtrlMessage": string;
39
+ "ScrollZoomBlocker.CmdMessage": string;
40
+ "TouchPanBlocker.Message": string;
41
+ }> | undefined>;
42
+ cooperativeGestures: import("@angular/core").InputSignal<boolean | undefined>;
43
+ minZoom: import("@angular/core").InputSignal<number | undefined>;
44
+ maxZoom: import("@angular/core").InputSignal<number | undefined>;
45
+ minPitch: import("@angular/core").InputSignal<number | undefined>;
46
+ maxPitch: import("@angular/core").InputSignal<number | undefined>;
47
+ scrollZoom: import("@angular/core").InputSignal<boolean | {
48
+ around?: "center";
49
+ } | undefined>;
50
+ dragRotate: import("@angular/core").InputSignal<boolean | undefined>;
51
+ touchPitch: import("@angular/core").InputSignal<boolean | {
52
+ around?: "center";
53
+ } | undefined>;
54
+ touchZoomRotate: import("@angular/core").InputSignal<boolean | {
55
+ around?: "center";
56
+ } | undefined>;
57
+ doubleClickZoom: import("@angular/core").InputSignal<boolean | undefined>;
58
+ keyboard: import("@angular/core").InputSignal<boolean | undefined>;
59
+ dragPan: import("@angular/core").InputSignal<boolean | {
60
+ linearity?: number;
61
+ easing?: (t: number) => number;
62
+ deceleration?: number;
63
+ maxSpeed?: number;
64
+ } | undefined>;
65
+ boxZoom: import("@angular/core").InputSignal<boolean | undefined>;
66
+ style: import("@angular/core").InputSignal<string | import("mapbox-gl").StyleSpecification | undefined>;
67
+ center: import("@angular/core").InputSignal<import("mapbox-gl").LngLatLike | undefined>;
68
+ maxBounds: import("@angular/core").InputSignal<LngLatBoundsLike | undefined>;
69
+ zoom: import("@angular/core").InputSignal<number | [number] | undefined>;
70
+ bearing: import("@angular/core").InputSignal<number | [number] | undefined>;
71
+ pitch: import("@angular/core").InputSignal<number | [number] | undefined>;
72
+ fitBoundsOptions: import("@angular/core").InputSignal<import("mapbox-gl").EasingOptions | undefined>;
73
+ renderWorldCopies: import("@angular/core").InputSignal<boolean | undefined>;
74
+ projection: import("@angular/core").InputSignal<string | import("mapbox-gl").ProjectionSpecification | undefined>;
75
+ movingMethod: import("@angular/core").InputSignal<"jumpTo" | "easeTo" | "flyTo">;
76
+ movingOptions: import("@angular/core").InputSignal<MovingOptions | undefined>;
77
+ fitBounds: import("@angular/core").InputSignal<LngLatBoundsLike | undefined>;
78
+ fitScreenCoordinates: import("@angular/core").InputSignal<[PointLike, PointLike] | undefined>;
79
+ centerWithPanTo: import("@angular/core").InputSignal<boolean | undefined>;
80
+ panToOptions: import("@angular/core").InputSignal<AnimationOptions | undefined>;
81
+ cursorStyle: import("@angular/core").InputSignal<string | undefined>;
82
+ mapResize: EventEmitter<{
83
+ type: import("mapbox-gl").MapEventType;
84
+ target: Map;
85
+ }>;
86
+ mapRemove: EventEmitter<{
87
+ type: import("mapbox-gl").MapEventType;
88
+ target: Map;
89
+ }>;
90
+ mapMouseDown: EventEmitter<MapMouseEvent>;
91
+ mapMouseUp: EventEmitter<MapMouseEvent>;
92
+ mapMouseMove: EventEmitter<MapMouseEvent>;
93
+ mapClick: EventEmitter<MapMouseEvent>;
94
+ mapDblClick: EventEmitter<MapMouseEvent>;
95
+ mapMouseOver: EventEmitter<MapMouseEvent>;
96
+ mapMouseOut: EventEmitter<MapMouseEvent>;
97
+ mapContextMenu: EventEmitter<MapMouseEvent>;
98
+ mapTouchStart: EventEmitter<MapTouchEvent>;
99
+ mapTouchEnd: EventEmitter<MapTouchEvent>;
100
+ mapTouchMove: EventEmitter<MapTouchEvent>;
101
+ mapTouchCancel: EventEmitter<MapTouchEvent>;
102
+ mapWheel: EventEmitter<MapWheelEvent>;
103
+ moveStart: EventEmitter<{
104
+ originalEvent?: MouseEvent | WheelEvent | TouchEvent;
105
+ }>;
106
+ move: EventEmitter<{
107
+ originalEvent?: MouseEvent | WheelEvent | TouchEvent;
108
+ }>;
109
+ moveEnd: EventEmitter<{
110
+ originalEvent?: MouseEvent | WheelEvent | TouchEvent;
111
+ }>;
112
+ mapDragStart: EventEmitter<{
113
+ originalEvent?: MouseEvent | TouchEvent;
114
+ }>;
115
+ mapDrag: EventEmitter<{
116
+ originalEvent?: MouseEvent | TouchEvent;
117
+ }>;
118
+ mapDragEnd: EventEmitter<{
119
+ originalEvent?: MouseEvent | TouchEvent;
120
+ }>;
121
+ zoomStart: EventEmitter<void>;
122
+ zoomEvt: EventEmitter<void>;
123
+ zoomEnd: EventEmitter<void>;
124
+ rotateStart: EventEmitter<{
125
+ originalEvent?: MouseEvent | TouchEvent;
126
+ }>;
127
+ rotate: EventEmitter<{
128
+ originalEvent?: MouseEvent | TouchEvent;
129
+ }>;
130
+ rotateEnd: EventEmitter<{
131
+ originalEvent?: MouseEvent | TouchEvent;
132
+ }>;
133
+ pitchStart: EventEmitter<void>;
134
+ pitchEvt: EventEmitter<void>;
135
+ pitchEnd: EventEmitter<void>;
136
+ boxZoomStart: EventEmitter<{
137
+ originalEvent?: MouseEvent | KeyboardEvent;
138
+ }>;
139
+ boxZoomEnd: EventEmitter<{
140
+ originalEvent?: MouseEvent;
141
+ }>;
142
+ boxZoomCancel: EventEmitter<{
143
+ originalEvent?: MouseEvent | KeyboardEvent;
144
+ }>;
145
+ webGlContextLost: EventEmitter<{
146
+ type: "webglcontextlost" | "webglcontextrestored";
147
+ target: Map;
148
+ } & ({
149
+ originalEvent?: WebGLContextEvent;
150
+ } | {
151
+ originalEvent?: WebGLContextEvent;
152
+ })>;
153
+ webGlContextRestored: EventEmitter<{
154
+ type: "webglcontextlost" | "webglcontextrestored";
155
+ target: Map;
156
+ } & ({
157
+ originalEvent?: WebGLContextEvent;
158
+ } | {
159
+ originalEvent?: WebGLContextEvent;
160
+ })>;
161
+ mapLoad: EventEmitter<{
162
+ type: import("mapbox-gl").MapEventType;
163
+ target: Map;
164
+ }>;
165
+ mapCreate: EventEmitter<Map>;
166
+ idle: EventEmitter<void>;
167
+ render: EventEmitter<void>;
168
+ mapError: EventEmitter<Error>;
169
+ data: EventEmitter<MapDataEvent>;
170
+ styleData: EventEmitter<MapStyleDataEvent>;
171
+ sourceData: EventEmitter<MapSourceDataEvent>;
172
+ dataLoading: EventEmitter<MapDataEvent>;
173
+ styleDataLoading: EventEmitter<MapStyleDataEvent>;
174
+ sourceDataLoading: EventEmitter<MapSourceDataEvent>;
175
+ styleImageMissing: EventEmitter<{
176
+ id: string;
177
+ }>;
178
+ get mapInstance(): Map;
179
+ mapContainer: ElementRef;
180
+ constructor();
181
+ ngOnDestroy(): void;
182
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
183
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapComponent, never>;
184
+ static ɵcmp: i0.ɵɵComponentDeclaration<MapComponent, "mgl-map", never, { "accessToken": { "alias": "accessToken"; "required": false; "isSignal": true; }; "collectResourceTiming": { "alias": "collectResourceTiming"; "required": false; "isSignal": true; }; "crossSourceCollisions": { "alias": "crossSourceCollisions"; "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; }; "failIfMajorPerformanceCaveat": { "alias": "failIfMajorPerformanceCaveat"; "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; }; "preserveDrawingBuffer": { "alias": "preserveDrawingBuffer"; "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; }; "antialias": { "alias": "antialias"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "cooperativeGestures": { "alias": "cooperativeGestures"; "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": false; "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; }; "fitBoundsOptions": { "alias": "fitBoundsOptions"; "required": false; "isSignal": true; }; "renderWorldCopies": { "alias": "renderWorldCopies"; "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"; "mapCreate": "mapCreate"; "idle": "idle"; "render": "render"; "mapError": "mapError"; "data": "data"; "styleData": "styleData"; "sourceData": "sourceData"; "dataLoading": "dataLoading"; "styleDataLoading": "styleDataLoading"; "sourceDataLoading": "sourceDataLoading"; "styleImageMissing": "styleImageMissing"; }, never, never, true, never>;
185
+ }
@@ -0,0 +1,123 @@
1
+ import { EventEmitter, InjectionToken } from '@angular/core';
2
+ import { Map, Marker, Popup, type AnimationOptions, type CanvasSource, type EasingOptions, type FilterSpecification, type LayoutSpecification, type LngLatLike, type MapOptions, type MarkerOptions, type PaintSpecification, type PointLike, type PopupOptions, type Source, type SourceSpecification } from 'mapbox-gl';
3
+ import { Observable } from 'rxjs';
4
+ import { LayerEvents, NgxMapEvent } from './map.types';
5
+ import * as i0 from "@angular/core";
6
+ export declare const MAPBOX_API_KEY: InjectionToken<unknown>;
7
+ export interface SetupMap {
8
+ accessToken?: string;
9
+ mapOptions: Omit<MapOptions, 'bearing' | 'pitch' | 'zoom'> & {
10
+ /**
11
+ * NOTE: Thoses can be arrays in order to be able to imperatively change them if the map is moved manually
12
+ */
13
+ bearing?: [number] | number;
14
+ pitch?: [number] | number;
15
+ zoom?: [number] | number;
16
+ };
17
+ mapEvents: NgxMapEvent;
18
+ }
19
+ export interface SetupLayer {
20
+ layerOptions: Parameters<Map['addLayer']>[0];
21
+ layerEvents: LayerEvents;
22
+ }
23
+ export interface SetupPopup {
24
+ popupOptions: PopupOptions;
25
+ popupEvents: {
26
+ popupOpen: EventEmitter<void>;
27
+ popupClose: EventEmitter<void>;
28
+ };
29
+ }
30
+ export interface SetupMarker {
31
+ markersOptions: {
32
+ pitchAlignment?: MarkerOptions['pitchAlignment'];
33
+ rotationAlignment?: MarkerOptions['rotationAlignment'];
34
+ offset?: MarkerOptions['offset'];
35
+ anchor?: MarkerOptions['anchor'];
36
+ draggable?: MarkerOptions['draggable'];
37
+ element: HTMLElement;
38
+ feature?: GeoJSON.Feature<GeoJSON.Point>;
39
+ lngLat?: LngLatLike;
40
+ clickTolerance?: MarkerOptions['clickTolerance'];
41
+ };
42
+ markersEvents: {
43
+ markerDragStart: EventEmitter<Marker>;
44
+ markerDrag: EventEmitter<Marker>;
45
+ markerDragEnd: EventEmitter<Marker>;
46
+ };
47
+ }
48
+ export type MovingOptions = Parameters<Map['jumpTo']>[0] | Parameters<Map['easeTo']>[0] | Parameters<Map['flyTo']>[0];
49
+ export declare class MapService {
50
+ private readonly zone;
51
+ private readonly MAPBOX_API_KEY;
52
+ private readonly injector;
53
+ mapInstance: Map;
54
+ mapCreated$: Observable<void>;
55
+ mapLoaded$: Observable<void>;
56
+ mapEvents: NgxMapEvent;
57
+ private mapCreated;
58
+ private mapLoaded;
59
+ private markersToRemove;
60
+ private popupsToRemove;
61
+ private imageIdsToRemove;
62
+ private subscription;
63
+ constructor();
64
+ setup(options: SetupMap): void;
65
+ destroyMap(): void;
66
+ updateProjection(projection: MapOptions['projection']): void;
67
+ updateMinZoom(minZoom: number): void;
68
+ updateMaxZoom(maxZoom: number): void;
69
+ updateMinPitch(minPitch: number): void;
70
+ updateMaxPitch(maxPitch: number): void;
71
+ updateRenderWorldCopies(status: boolean): void;
72
+ updateScrollZoom(status: boolean): void;
73
+ updateDragRotate(status: boolean): void;
74
+ updateTouchPitch(status: boolean): void;
75
+ updateTouchZoomRotate(status: boolean): void;
76
+ updateDoubleClickZoom(status: boolean): void;
77
+ updateKeyboard(status: boolean): void;
78
+ updateDragPan(status: boolean): void;
79
+ updateBoxZoom(status: boolean): void;
80
+ updateStyle(style: Parameters<Map['setStyle']>[0]): void;
81
+ updateMaxBounds(maxBounds: Parameters<Map['setMaxBounds']>[0]): void;
82
+ changeCanvasCursor(cursor: string): void;
83
+ queryRenderedFeatures(pointOrBox: PointLike | [PointLike, PointLike], parameters?: {
84
+ layers?: string[];
85
+ filter?: FilterSpecification;
86
+ validate?: boolean;
87
+ }): GeoJSON.Feature<GeoJSON.GeometryObject>[];
88
+ panTo(center: LngLatLike, options?: AnimationOptions): void;
89
+ move(movingMethod: 'jumpTo' | 'easeTo' | 'flyTo', movingOptions?: MovingOptions, zoom?: number, center?: LngLatLike, bearing?: number, pitch?: number): void;
90
+ addLayer(layer: SetupLayer, bindEvents: boolean, before?: string): void;
91
+ removeLayer(layerId: string): void;
92
+ addMarker(marker: SetupMarker): Marker;
93
+ removeMarker(marker: Marker): void;
94
+ createPopup(popup: SetupPopup, element: Node): Popup;
95
+ addPopupToMap(popup: Popup, lngLat: LngLatLike, skipOpenEvent?: boolean): void;
96
+ addPopupToMarker(marker: Marker, popup: Popup): void;
97
+ removePopupFromMap(popup: Popup, skipCloseEvent?: boolean): void;
98
+ removePopupFromMarker(marker: Marker): void;
99
+ addControl(control: Parameters<Map['addControl']>[0], position?: Parameters<Map['addControl']>[1]): void;
100
+ removeControl(control: Parameters<Map['removeControl']>[0]): void;
101
+ loadAndAddImage(imageId: string, url: string, options?: Parameters<Map['addImage']>[2]): Promise<void>;
102
+ addImage(imageId: Parameters<Map['addImage']>[0], data: Parameters<Map['addImage']>[1], options?: Parameters<Map['addImage']>[2]): void;
103
+ removeImage(imageId: string): void;
104
+ addSource(sourceId: string, source: SourceSpecification | CanvasSource['options']): void;
105
+ getSource<T extends Source>(sourceId: string): T | undefined;
106
+ removeSource(sourceId: string): void;
107
+ setLayerAllPaintProperty(layerId: string, paint: PaintSpecification): void;
108
+ setLayerAllLayoutProperty(layerId: string, layout: LayoutSpecification): void;
109
+ setLayerFilter(layerId: string, filter: FilterSpecification[]): void;
110
+ setLayerBefore(layerId: string, beforeId: string): void;
111
+ setLayerZoomRange(layerId: string, minZoom?: number, maxZoom?: number): void;
112
+ fitBounds(bounds: Parameters<Map['fitBounds']>[0], options?: Parameters<Map['fitBounds']>[1]): void;
113
+ fitScreenCoordinates(points: [PointLike, PointLike], bearing: number, options?: EasingOptions): void;
114
+ applyChanges(): void;
115
+ private createMap;
116
+ private removeMarkers;
117
+ private removePopups;
118
+ private removeImages;
119
+ private findLayersBySourceId;
120
+ private hookEvents;
121
+ static ɵfac: i0.ɵɵFactoryDeclaration<MapService, never>;
122
+ static ɵprov: i0.ɵɵInjectableDeclaration<MapService>;
123
+ }
@@ -0,0 +1,72 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import type { Map, MapContextEvent, MapDataEvent, MapEvent, MapEvents, MapMouseEvent, MapSourceDataEvent, MapStyleDataEvent, MapTouchEvent, MapWheelEvent } from 'mapbox-gl';
3
+ export interface NgxMapEvent {
4
+ mapResize: EventEmitter<MapEvent>;
5
+ mapRemove: EventEmitter<MapEvent>;
6
+ mapMouseDown: EventEmitter<MapMouseEvent>;
7
+ mapMouseUp: EventEmitter<MapMouseEvent>;
8
+ mapMouseMove: EventEmitter<MapMouseEvent>;
9
+ mapClick: EventEmitter<MapMouseEvent>;
10
+ mapDblClick: EventEmitter<MapMouseEvent>;
11
+ mapMouseOver: EventEmitter<MapMouseEvent>;
12
+ mapMouseOut: EventEmitter<MapMouseEvent>;
13
+ mapContextMenu: EventEmitter<MapMouseEvent>;
14
+ mapTouchStart: EventEmitter<MapTouchEvent>;
15
+ mapTouchEnd: EventEmitter<MapTouchEvent>;
16
+ mapTouchMove: EventEmitter<MapTouchEvent>;
17
+ mapTouchCancel: EventEmitter<MapTouchEvent>;
18
+ mapWheel: EventEmitter<MapWheelEvent>;
19
+ moveStart: EventEmitter<MapEvents['movestart']>;
20
+ move: EventEmitter<MapEvents['move']>;
21
+ moveEnd: EventEmitter<MapEvents['moveend']>;
22
+ mapDragStart: EventEmitter<MapEvents['dragstart']>;
23
+ mapDrag: EventEmitter<MapEvents['drag']>;
24
+ mapDragEnd: EventEmitter<MapEvents['dragend']>;
25
+ zoomStart: EventEmitter<void>;
26
+ zoomEvt: EventEmitter<void>;
27
+ zoomEnd: EventEmitter<void>;
28
+ rotateStart: EventEmitter<MapEvents['rotatestart']>;
29
+ rotate: EventEmitter<MapEvents['rotate']>;
30
+ rotateEnd: EventEmitter<MapEvents['rotateend']>;
31
+ pitchStart: EventEmitter<void>;
32
+ pitchEvt: EventEmitter<void>;
33
+ pitchEnd: EventEmitter<void>;
34
+ boxZoomStart: EventEmitter<MapEvents['boxzoomstart']>;
35
+ boxZoomEnd: EventEmitter<MapEvents['boxzoomend']>;
36
+ boxZoomCancel: EventEmitter<MapEvents['boxzoomcancel']>;
37
+ webGlContextLost: EventEmitter<MapContextEvent>;
38
+ webGlContextRestored: EventEmitter<MapContextEvent>;
39
+ mapLoad: EventEmitter<MapEvent>;
40
+ mapCreate: EventEmitter<Map>;
41
+ render: EventEmitter<void>;
42
+ mapError: EventEmitter<Error>;
43
+ data: EventEmitter<MapDataEvent>;
44
+ styleData: EventEmitter<MapStyleDataEvent>;
45
+ sourceData: EventEmitter<MapSourceDataEvent>;
46
+ dataLoading: EventEmitter<MapDataEvent>;
47
+ styleDataLoading: EventEmitter<MapStyleDataEvent>;
48
+ sourceDataLoading: EventEmitter<MapSourceDataEvent>;
49
+ styleImageMissing: EventEmitter<{
50
+ id: string;
51
+ }>;
52
+ idle: EventEmitter<void>;
53
+ }
54
+ export interface LayerEvents {
55
+ layerClick: EventEmitter<MapMouseEvent>;
56
+ layerDblClick: EventEmitter<MapMouseEvent>;
57
+ layerMouseDown: EventEmitter<MapMouseEvent>;
58
+ layerMouseUp: EventEmitter<MapMouseEvent>;
59
+ layerMouseEnter: EventEmitter<MapMouseEvent>;
60
+ layerMouseLeave: EventEmitter<MapMouseEvent>;
61
+ layerMouseMove: EventEmitter<MapMouseEvent>;
62
+ layerMouseOver: EventEmitter<MapMouseEvent>;
63
+ layerMouseOut: EventEmitter<MapMouseEvent>;
64
+ layerContextMenu: EventEmitter<MapMouseEvent>;
65
+ layerTouchStart: EventEmitter<MapTouchEvent>;
66
+ layerTouchEnd: EventEmitter<MapTouchEvent>;
67
+ layerTouchCancel: EventEmitter<MapTouchEvent>;
68
+ }
69
+ /**
70
+ * in typescript 4.1 DOM interface Position and Coordinates renamed to GeolocationPosition GeolocationCoordinates
71
+ * to avoid deprecation angular version < 11.0.0 we declared own Coordinates, Position interface
72
+ */
@@ -0,0 +1,31 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import type { LngLatLike, Marker } from 'mapbox-gl';
3
+ import type { Feature, Point } from 'geojson';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MarkerComponent implements OnChanges, OnDestroy, AfterViewInit, OnInit {
6
+ private mapService;
7
+ offset: import("@angular/core").InputSignal<import("mapbox-gl").PointLike | undefined>;
8
+ anchor: import("@angular/core").InputSignal<import("mapbox-gl").Anchor | undefined>;
9
+ clickTolerance: import("@angular/core").InputSignal<number | undefined>;
10
+ feature: import("@angular/core").InputSignal<Feature<Point, import("geojson").GeoJsonProperties> | undefined>;
11
+ lngLat: import("@angular/core").InputSignal<LngLatLike | undefined>;
12
+ draggable: import("@angular/core").InputSignal<boolean | undefined>;
13
+ popupShown: import("@angular/core").InputSignal<boolean | undefined>;
14
+ className: import("@angular/core").InputSignal<string | undefined>;
15
+ zIndex: import("@angular/core").InputSignal<number | undefined>;
16
+ pitchAlignment: import("@angular/core").InputSignal<string | undefined>;
17
+ rotationAlignment: import("@angular/core").InputSignal<string | undefined>;
18
+ markerDragStart: EventEmitter<Marker>;
19
+ markerDragEnd: EventEmitter<Marker>;
20
+ markerDrag: EventEmitter<Marker>;
21
+ content: ElementRef;
22
+ markerInstance?: Marker;
23
+ ngOnInit(): void;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ ngAfterViewInit(): void;
26
+ ngOnDestroy(): void;
27
+ togglePopup(): void;
28
+ updateCoordinates(coordinates: number[]): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<MarkerComponent, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<MarkerComponent, "mgl-marker", never, { "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "anchor": { "alias": "anchor"; "required": false; "isSignal": true; }; "clickTolerance": { "alias": "clickTolerance"; "required": false; "isSignal": true; }; "feature": { "alias": "feature"; "required": false; "isSignal": true; }; "lngLat": { "alias": "lngLat"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "popupShown": { "alias": "popupShown"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "pitchAlignment": { "alias": "pitchAlignment"; "required": false; "isSignal": true; }; "rotationAlignment": { "alias": "rotationAlignment"; "required": false; "isSignal": true; }; }, { "markerDragStart": "markerDragStart"; "markerDragEnd": "markerDragEnd"; "markerDrag": "markerDrag"; }, never, ["*"], true, never>;
31
+ }
@@ -0,0 +1,28 @@
1
+ import { AfterContentInit, OnDestroy, TemplateRef } from '@angular/core';
2
+ import type { GeoJSONFeature } from 'mapbox-gl';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PointDirective {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<PointDirective, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PointDirective, "ng-template[mglPoint]", never, {}, {}, never, never, true, never>;
7
+ }
8
+ export declare class ClusterPointDirective {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClusterPointDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClusterPointDirective, "ng-template[mglClusterPoint]", never, {}, {}, never, never, true, never>;
11
+ }
12
+ export declare class MarkersForClustersComponent implements OnDestroy, AfterContentInit {
13
+ private mapService;
14
+ private zone;
15
+ source: import("@angular/core").InputSignal<string>;
16
+ customPointIdKey: import("@angular/core").InputSignal<string | undefined>;
17
+ pointTpl?: TemplateRef<unknown>;
18
+ clusterPointTpl: TemplateRef<unknown>;
19
+ clusterPoints: import("@angular/core").WritableSignal<GeoJSONFeature[]>;
20
+ layerId: string;
21
+ private sub;
22
+ ngAfterContentInit(): void;
23
+ ngOnDestroy(): void;
24
+ trackByFeature(feature: GeoJSONFeature): any;
25
+ private updateCluster;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<MarkersForClustersComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<MarkersForClustersComponent, "mgl-markers-for-clusters", never, { "source": { "alias": "source"; "required": true; "isSignal": true; }; "customPointIdKey": { "alias": "customPointIdKey"; "required": false; "isSignal": true; }; }, {}, ["pointTpl", "clusterPointTpl"], never, true, never>;
28
+ }
@@ -0,0 +1,33 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { LngLatLike, PointLike, Popup } from 'mapbox-gl';
3
+ import { MarkerComponent } from '../marker/marker.component';
4
+ import { Feature, Point } from 'geojson';
5
+ import * as i0 from "@angular/core";
6
+ export declare class PopupComponent implements OnChanges, OnDestroy, AfterViewInit, OnInit {
7
+ private mapService;
8
+ closeButton: import("@angular/core").InputSignal<boolean | undefined>;
9
+ closeOnClick: import("@angular/core").InputSignal<boolean | undefined>;
10
+ closeOnMove: import("@angular/core").InputSignal<boolean | undefined>;
11
+ focusAfterOpen: import("@angular/core").InputSignal<boolean | undefined>;
12
+ anchor: import("@angular/core").InputSignal<import("mapbox-gl").Anchor | undefined>;
13
+ className: import("@angular/core").InputSignal<string | undefined>;
14
+ maxWidth: import("@angular/core").InputSignal<string | undefined>;
15
+ feature: import("@angular/core").InputSignal<Feature<Point, import("geojson").GeoJsonProperties> | undefined>;
16
+ lngLat: import("@angular/core").InputSignal<LngLatLike | undefined>;
17
+ marker: import("@angular/core").InputSignal<MarkerComponent | undefined>;
18
+ offset: import("@angular/core").InputSignal<number | PointLike | {
19
+ [anchor: string]: [number, number];
20
+ } | undefined>;
21
+ popupClose: EventEmitter<void>;
22
+ popupOpen: EventEmitter<void>;
23
+ content: ElementRef;
24
+ popupInstance?: Popup;
25
+ ngOnInit(): void;
26
+ ngOnChanges(changes: SimpleChanges): void;
27
+ ngAfterViewInit(): void;
28
+ ngOnDestroy(): void;
29
+ private createPopup;
30
+ private addPopup;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopupComponent, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopupComponent, "mgl-popup", never, { "closeButton": { "alias": "closeButton"; "required": false; "isSignal": true; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; "isSignal": true; }; "closeOnMove": { "alias": "closeOnMove"; "required": false; "isSignal": true; }; "focusAfterOpen": { "alias": "focusAfterOpen"; "required": false; "isSignal": true; }; "anchor": { "alias": "anchor"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "feature": { "alias": "feature"; "required": false; "isSignal": true; }; "lngLat": { "alias": "lngLat"; "required": false; "isSignal": true; }; "marker": { "alias": "marker"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; }, { "popupClose": "popupClose"; "popupOpen": "popupOpen"; }, never, ["*"], true, never>;
33
+ }
@@ -0,0 +1,6 @@
1
+ export declare function provideMapboxGL(config: {
2
+ accessToken: string;
3
+ }): {
4
+ provide: import("@angular/core").InjectionToken<unknown>;
5
+ useValue: string;
6
+ };
@@ -0,0 +1,23 @@
1
+ import { OnChanges, OnDestroy, OnInit, SimpleChanges, type InputSignal } from '@angular/core';
2
+ import type { CanvasSource } from 'mapbox-gl';
3
+ import * as i0 from "@angular/core";
4
+ type CanvasSourceSpecification = CanvasSource['options'];
5
+ type CanvasSourceInputs = {
6
+ [K in keyof Omit<CanvasSourceSpecification, 'type'>]: InputSignal<Omit<CanvasSourceSpecification, 'type'>[K]>;
7
+ };
8
+ export declare class CanvasSourceComponent implements OnInit, OnDestroy, OnChanges, CanvasSourceInputs {
9
+ private mapService;
10
+ id: InputSignal<string>;
11
+ coordinates: InputSignal<[[number, number], [number, number], [number, number], [number, number]]>;
12
+ canvas: InputSignal<string | HTMLCanvasElement>;
13
+ animate: InputSignal<boolean | undefined>;
14
+ private sourceAdded;
15
+ private sub;
16
+ ngOnInit(): void;
17
+ ngOnChanges(changes: SimpleChanges): void;
18
+ ngOnDestroy(): void;
19
+ private init;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<CanvasSourceComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<CanvasSourceComponent, "mgl-canvas-source", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "coordinates": { "alias": "coordinates"; "required": true; "isSignal": true; }; "canvas": { "alias": "canvas"; "required": true; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
22
+ }
23
+ export {};
@@ -0,0 +1,16 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { GeoJsonProperties } from 'geojson';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FeatureComponent implements OnInit, OnDestroy {
5
+ private GeoJSONSourceComponent;
6
+ id: import("@angular/core").ModelSignal<number | undefined>;
7
+ geometry: import("@angular/core").InputSignal<import("geojson").Geometry>;
8
+ properties: import("@angular/core").InputSignal<GeoJsonProperties | undefined>;
9
+ type: "Feature";
10
+ private feature;
11
+ ngOnInit(): void;
12
+ ngOnDestroy(): void;
13
+ updateCoordinates(coordinates: number[]): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeatureComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<FeatureComponent, "mgl-feature", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "geometry": { "alias": "geometry"; "required": true; "isSignal": true; }; "properties": { "alias": "properties"; "required": false; "isSignal": true; }; }, { "id": "idChange"; }, never, never, true, never>;
16
+ }
@@ -0,0 +1,63 @@
1
+ import { OnChanges, OnDestroy, OnInit, SimpleChanges, type InputSignal } from '@angular/core';
2
+ import type { GeoJSONSourceSpecification } from 'mapbox-gl';
3
+ import { Subject } from 'rxjs';
4
+ import type { Feature, GeoJSON } from 'geojson';
5
+ import * as i0 from "@angular/core";
6
+ type GeoJSONSourceInputs = {
7
+ [K in keyof Omit<GeoJSONSourceSpecification, 'type'>]: InputSignal<Omit<GeoJSONSourceSpecification, 'type'>[K]>;
8
+ };
9
+ export declare class GeoJSONSourceComponent implements OnInit, OnDestroy, OnChanges, GeoJSONSourceInputs {
10
+ private mapService;
11
+ private zone;
12
+ id: InputSignal<string>;
13
+ data: import("@angular/core").ModelSignal<string | GeoJSON | undefined>;
14
+ minzoom: InputSignal<number | undefined>;
15
+ maxzoom: InputSignal<number | undefined>;
16
+ attribution: InputSignal<string | undefined>;
17
+ buffer: InputSignal<number | undefined>;
18
+ tolerance: InputSignal<number | undefined>;
19
+ cluster: InputSignal<boolean | undefined>;
20
+ clusterRadius: InputSignal<number | undefined>;
21
+ clusterMaxZoom: InputSignal<number | undefined>;
22
+ clusterMinPoints: InputSignal<number | undefined>;
23
+ clusterProperties: InputSignal<unknown>;
24
+ lineMetrics: InputSignal<boolean | undefined>;
25
+ generateId: InputSignal<boolean | undefined>;
26
+ promoteId: InputSignal<import("mapbox-gl").PromoteIdSpecification | undefined>;
27
+ filter: InputSignal<unknown>;
28
+ dynamic: InputSignal<boolean | undefined>;
29
+ updateFeatureData: Subject<unknown>;
30
+ private sub;
31
+ private sourceAdded;
32
+ private featureIdCounter;
33
+ ngOnInit(): void;
34
+ ngOnChanges(changes: SimpleChanges): void;
35
+ ngOnDestroy(): void;
36
+ /**
37
+ * For clustered sources, fetches the zoom at which the given cluster expands.
38
+ *
39
+ * @param clusterId The value of the cluster's cluster_id property.
40
+ */
41
+ getClusterExpansionZoom(clusterId: number): Promise<number | null | undefined>;
42
+ /**
43
+ * For clustered sources, fetches the children of the given cluster on the next zoom level (as an array of GeoJSON features).
44
+ *
45
+ * @param clusterId The value of the cluster's cluster_id property.
46
+ */
47
+ getClusterChildren(clusterId: number): Promise<Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[] | null | undefined>;
48
+ /**
49
+ * For clustered sources, fetches the original points that belong to the cluster (as an array of GeoJSON features).
50
+ *
51
+ * @param clusterId The value of the cluster's cluster_id property.
52
+ * @param limit The maximum number of features to return.
53
+ * @param offset The number of features to skip (e.g. for pagination).
54
+ */
55
+ getClusterLeaves(clusterId: number, limit: number, offset: number): Promise<Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[]>;
56
+ _addFeature(feature: GeoJSON.Feature<GeoJSON.GeometryObject>): void;
57
+ _removeFeature(feature: GeoJSON.Feature<GeoJSON.GeometryObject>): void;
58
+ _getNewFeatureId(): number;
59
+ private init;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<GeoJSONSourceComponent, never>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<GeoJSONSourceComponent, "mgl-geojson-source", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "minzoom": { "alias": "minzoom"; "required": false; "isSignal": true; }; "maxzoom": { "alias": "maxzoom"; "required": false; "isSignal": true; }; "attribution": { "alias": "attribution"; "required": false; "isSignal": true; }; "buffer": { "alias": "buffer"; "required": false; "isSignal": true; }; "tolerance": { "alias": "tolerance"; "required": false; "isSignal": true; }; "cluster": { "alias": "cluster"; "required": false; "isSignal": true; }; "clusterRadius": { "alias": "clusterRadius"; "required": false; "isSignal": true; }; "clusterMaxZoom": { "alias": "clusterMaxZoom"; "required": false; "isSignal": true; }; "clusterMinPoints": { "alias": "clusterMinPoints"; "required": false; "isSignal": true; }; "clusterProperties": { "alias": "clusterProperties"; "required": false; "isSignal": true; }; "lineMetrics": { "alias": "lineMetrics"; "required": false; "isSignal": true; }; "generateId": { "alias": "generateId"; "required": false; "isSignal": true; }; "promoteId": { "alias": "promoteId"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "dynamic": { "alias": "dynamic"; "required": false; "isSignal": true; }; }, { "data": "dataChange"; }, never, never, true, never>;
62
+ }
63
+ export {};
@@ -0,0 +1,22 @@
1
+ import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import type { ImageSourceSpecification } from 'mapbox-gl';
3
+ import type { InputSignal } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ type ImageSourceInputs = {
6
+ [K in keyof Omit<ImageSourceSpecification, 'type'>]: InputSignal<Omit<ImageSourceSpecification, 'type'>[K]>;
7
+ };
8
+ export declare class ImageSourceComponent implements OnInit, OnDestroy, OnChanges, ImageSourceInputs {
9
+ private mapService;
10
+ id: InputSignal<string>;
11
+ url: InputSignal<string | undefined>;
12
+ coordinates: InputSignal<[[number, number], [number, number], [number, number], [number, number]]>;
13
+ private sub;
14
+ private sourceId?;
15
+ ngOnInit(): void;
16
+ ngOnChanges(changes: SimpleChanges): void;
17
+ ngOnDestroy(): void;
18
+ private init;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImageSourceComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageSourceComponent, "mgl-image-source", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; "coordinates": { "alias": "coordinates"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
21
+ }
22
+ export {};