@ndwnu/map 0.0.1-beta.5 → 0.0.1-beta.7
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.
- package/fesm2022/ndwnu-map.mjs +620 -433
- package/fesm2022/ndwnu-map.mjs.map +1 -1
- package/package.json +6 -6
- package/{index.d.ts → types/ndwnu-map.d.ts} +156 -127
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as maplibre_gl from 'maplibre-gl';
|
|
2
|
-
import {
|
|
2
|
+
import { Point, LayerSpecification, FilterSpecification, MapMouseEvent, MapGeoJSONFeature, SourceSpecification, Map, BackgroundLayerSpecification, StyleSpecification, LngLatBoundsLike, LngLatLike, AnimationOptions, DataDrivenPropertyValueSpecification } from 'maplibre-gl';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
import { Subject, Observable } from 'rxjs';
|
|
5
5
|
import { Feature, FeatureCollection } from 'geojson';
|
|
@@ -7,137 +7,65 @@ import * as i0 from '@angular/core';
|
|
|
7
7
|
import { AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
|
|
8
8
|
import { HttpClient } from '@angular/common/http';
|
|
9
9
|
|
|
10
|
-
declare
|
|
11
|
-
declare const BOUNDS_AMERSFOORT: [LngLatLike, LngLatLike];
|
|
12
|
-
|
|
13
|
-
interface MapConfig {
|
|
14
|
-
/** Initial center position of the map */
|
|
15
|
-
center?: LngLatLike;
|
|
16
|
-
/** Initial zoom level */
|
|
17
|
-
zoom?: number;
|
|
18
|
-
/** Maximum zoom level */
|
|
19
|
-
maxZoom?: number;
|
|
20
|
-
/** Minimum zoom level */
|
|
21
|
-
minZoom?: number;
|
|
22
|
-
/** Initial bounds to fit the map to */
|
|
23
|
-
bounds?: LngLatBoundsLike;
|
|
24
|
-
/** Enable/disable all map interactions */
|
|
25
|
-
interactive?: boolean;
|
|
26
|
-
/** Enable/disable map rotation via drag */
|
|
27
|
-
dragRotate?: boolean;
|
|
28
|
-
/** Enable/disable double-click to zoom */
|
|
29
|
-
doubleClickZoom?: boolean;
|
|
30
|
-
/** Enable/disable scroll wheel zoom */
|
|
31
|
-
scrollZoom?: boolean;
|
|
32
|
-
/** Enable/disable shift+drag box zoom */
|
|
33
|
-
boxZoom?: boolean;
|
|
34
|
-
/** Enable/disable drag to pan */
|
|
35
|
-
dragPan?: boolean;
|
|
36
|
-
/** Enable/disable keyboard navigation */
|
|
37
|
-
keyboard?: boolean;
|
|
38
|
-
/** Enable/disable touch zoom and rotation on mobile */
|
|
39
|
-
touchZoomRotate?: boolean;
|
|
40
|
-
}
|
|
41
|
-
declare const DEFAULT_MAP_CONFIG: Required<Omit<MapConfig, 'bounds'>>;
|
|
42
|
-
declare const COMMON_BOUNDS: {
|
|
43
|
-
readonly NETHERLANDS: LngLatBoundsLike;
|
|
44
|
-
readonly AMERSFOORT: LngLatBoundsLike;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
declare abstract class MapLayer<TElementType> {
|
|
10
|
+
declare abstract class MapLayer<TElementType, TFilter = unknown, TLegendItem = unknown> {
|
|
48
11
|
#private;
|
|
49
|
-
protected readonly config: MapElementConfig<TElementType>;
|
|
12
|
+
protected readonly config: MapElementConfig<TElementType, TFilter, TLegendItem>;
|
|
50
13
|
protected readonly sourceId: string;
|
|
51
14
|
protected readonly layerIdSuffix?: string | undefined;
|
|
52
15
|
initialized: boolean;
|
|
53
16
|
protected unsubscribe: Subject<void>;
|
|
54
|
-
constructor(config: MapElementConfig<TElementType>, sourceId: string, layerIdSuffix?: string | undefined);
|
|
17
|
+
constructor(config: MapElementConfig<TElementType, TFilter, TLegendItem>, sourceId: string, layerIdSuffix?: string | undefined);
|
|
55
18
|
get id(): string;
|
|
56
19
|
get styleLayer(): maplibre_gl.StyleLayer | undefined;
|
|
57
20
|
onInit(): void;
|
|
58
21
|
onDestroy(): void;
|
|
59
22
|
setVisible(visible: boolean): void;
|
|
60
|
-
protected onClick?(features: Feature[]): void;
|
|
23
|
+
protected onClick?(point: Point, features: Feature[]): void;
|
|
61
24
|
protected abstract getSpecification(): Partial<LayerSpecification>;
|
|
62
|
-
getFilterSpecification?(): FilterSpecification;
|
|
25
|
+
getFilterSpecification?(filter?: TFilter): FilterSpecification;
|
|
63
26
|
}
|
|
64
27
|
type ClickEvent = MapMouseEvent & {
|
|
65
28
|
features?: MapGeoJSONFeature[];
|
|
66
29
|
} & object;
|
|
67
30
|
|
|
68
|
-
declare abstract class MapSource<TElementType> {
|
|
31
|
+
declare abstract class MapSource<TElementType, TFilter = unknown, TLegendItem = unknown> {
|
|
69
32
|
#private;
|
|
70
33
|
readonly id: string;
|
|
71
|
-
protected readonly config: MapElementConfig<TElementType>;
|
|
72
|
-
layers: MapLayer<TElementType>[];
|
|
34
|
+
protected readonly config: MapElementConfig<TElementType, TFilter, TLegendItem>;
|
|
35
|
+
layers: MapLayer<TElementType, TFilter, TLegendItem>[];
|
|
73
36
|
protected unsubscribe: Subject<void>;
|
|
74
|
-
|
|
37
|
+
protected activeFilter: TFilter | undefined;
|
|
38
|
+
constructor(id: string, config: MapElementConfig<TElementType, TFilter, TLegendItem>);
|
|
75
39
|
onInit(): void;
|
|
76
40
|
onDestroy(): void;
|
|
77
41
|
get featureCollection$(): Observable<FeatureCollection> | undefined;
|
|
78
42
|
set featureCollection$(value: Observable<FeatureCollection> | undefined);
|
|
79
43
|
get isInitialized(): boolean;
|
|
80
44
|
set isInitialized(value: boolean);
|
|
45
|
+
get filter$(): Observable<TFilter> | undefined;
|
|
46
|
+
set filter$(value: Observable<TFilter> | undefined);
|
|
81
47
|
setVisible(visible: boolean): void;
|
|
48
|
+
reload(): void;
|
|
82
49
|
protected abstract getSpecification(): Partial<SourceSpecification>;
|
|
50
|
+
protected getFilterSpecification?(filter: TFilter | undefined): FilterSpecification;
|
|
51
|
+
protected applyFilterToLayers(filterValue: TFilter | undefined): void;
|
|
83
52
|
}
|
|
84
53
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
*
|
|
88
|
-
* Maplibre has no automatic cursor handling for layers, so when you add a clickHandler
|
|
89
|
-
* to a layer, the user can click on it, but the cursor will not change to a pointer.
|
|
90
|
-
* This service provides methods to set the cursor to pointer when hovering over a layer,
|
|
91
|
-
* and to enable crosshair mode which takes precedence over all other cursor types.
|
|
92
|
-
*/
|
|
93
|
-
declare class MaplibreCursorService {
|
|
94
|
-
#private;
|
|
95
|
-
/**
|
|
96
|
-
* Sets up mouse cursor handling for a map layer.
|
|
97
|
-
* Changes cursor to pointer when mouse enters the layer and resets when leaving.
|
|
98
|
-
*
|
|
99
|
-
* @param map - The MapLibre map instance
|
|
100
|
-
* @param layerId - ID of the layer to apply cursor behavior to
|
|
101
|
-
*/
|
|
102
|
-
setMouseCursor(map: Map, layerId: string): void;
|
|
103
|
-
/**
|
|
104
|
-
* Enables or disables crosshair cursor mode for the map.
|
|
105
|
-
* When enabled, crosshair cursor will take precedence over all other cursor types.
|
|
106
|
-
*
|
|
107
|
-
* @param value - True to enable crosshair mode, false to disable
|
|
108
|
-
* @param map - The MapLibre map instance to apply the cursor to
|
|
109
|
-
*/
|
|
110
|
-
/**
|
|
111
|
-
* Enables or disables crosshair cursor mode for the map.
|
|
112
|
-
* When enabled, crosshair cursor will take precedence over all other cursor types.
|
|
113
|
-
*
|
|
114
|
-
* @param value - True to enable crosshair mode, false to disable
|
|
115
|
-
* @param map - The MapLibre map instance to apply the cursor to
|
|
116
|
-
*/
|
|
117
|
-
setCrosshairMode(value: boolean, map: Map): void;
|
|
118
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MaplibreCursorService, never>;
|
|
119
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<MaplibreCursorService>;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
interface MapElementConfig<TElementType> {
|
|
123
|
-
map: Map;
|
|
124
|
-
mapElementRepository: MapElementRepository<TElementType>;
|
|
125
|
-
maplibreCursorService: MaplibreCursorService;
|
|
126
|
-
elementId: TElementType;
|
|
127
|
-
elementOrder: number;
|
|
128
|
-
}
|
|
129
|
-
declare abstract class MapElement<TElementType> {
|
|
130
|
-
protected readonly config: MapElementConfig<TElementType>;
|
|
54
|
+
declare abstract class MapElement<TElementType, TFilter = unknown, TLegendItem = unknown> {
|
|
55
|
+
protected readonly config: MapElementConfig<TElementType, TFilter, TLegendItem>;
|
|
131
56
|
id: TElementType;
|
|
132
57
|
elementOrder: number;
|
|
133
|
-
sources: MapSource<TElementType>[];
|
|
58
|
+
sources: MapSource<TElementType, TFilter, TLegendItem>[];
|
|
134
59
|
alwaysVisible: boolean;
|
|
135
60
|
isVisible: boolean;
|
|
61
|
+
isInteractive: boolean;
|
|
136
62
|
protected unsubscribe: Subject<void>;
|
|
137
|
-
constructor(config: MapElementConfig<TElementType>);
|
|
63
|
+
constructor(config: MapElementConfig<TElementType, TFilter, TLegendItem>);
|
|
64
|
+
get legendItems(): TLegendItem[];
|
|
138
65
|
onInit(): void;
|
|
139
66
|
onDestroy(): void;
|
|
140
67
|
setVisible(visible: boolean): void;
|
|
68
|
+
reload(): void;
|
|
141
69
|
}
|
|
142
70
|
|
|
143
71
|
/**
|
|
@@ -146,14 +74,18 @@ declare abstract class MapElement<TElementType> {
|
|
|
146
74
|
* Also tracks element visibility state and provides observable streams for elements.
|
|
147
75
|
*
|
|
148
76
|
* @typeparam TElementType - The type of ID used for the map elements
|
|
77
|
+
* @typeparam TFilter - The type of filter used for the map elements
|
|
78
|
+
* @typeparam TLegendItem - The type of legend item used for the map elements
|
|
149
79
|
*/
|
|
150
|
-
declare abstract class MapElementRepository<TElementType> {
|
|
80
|
+
declare abstract class MapElementRepository<TElementType, TFilter = unknown, TLegendItem = unknown> {
|
|
151
81
|
/** Subject that holds the current array of map elements */
|
|
152
82
|
private readonly mapElementsSubject;
|
|
153
83
|
/** Observable stream of all map elements */
|
|
154
|
-
|
|
84
|
+
readonly mapElements$: rxjs.Observable<MapElement<TElementType, TFilter, TLegendItem>[]>;
|
|
155
85
|
/** Observable stream of only visible map elements */
|
|
156
|
-
|
|
86
|
+
readonly visibleMapElements$: rxjs.Observable<MapElement<TElementType, TFilter, TLegendItem>[]>;
|
|
87
|
+
/** Observable stream of legend items from all visible map elements */
|
|
88
|
+
readonly legendItems$: rxjs.Observable<TLegendItem[]>;
|
|
157
89
|
/**
|
|
158
90
|
* Gets the ids (TElementType) as an array of all map element
|
|
159
91
|
* @returns Array of TElementType
|
|
@@ -164,23 +96,28 @@ declare abstract class MapElementRepository<TElementType> {
|
|
|
164
96
|
* @returns Array of TElementType
|
|
165
97
|
*/
|
|
166
98
|
visibleMapElementIds$: rxjs.Observable<TElementType[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Gets the ids (TElementType) as an array of all visible map element
|
|
101
|
+
* @returns Array of TElementType
|
|
102
|
+
*/
|
|
103
|
+
get visibleMapElementIds(): TElementType[];
|
|
167
104
|
/**
|
|
168
105
|
* Gets the current array of all map elements
|
|
169
106
|
* @returns Array of map elements
|
|
170
107
|
*/
|
|
171
|
-
get mapElements(): MapElement<TElementType>[];
|
|
108
|
+
get mapElements(): MapElement<TElementType, TFilter, TLegendItem>[];
|
|
172
109
|
/**
|
|
173
110
|
* Gets only the currently visible map elements
|
|
174
111
|
* @returns Array of visible map elements
|
|
175
112
|
*/
|
|
176
|
-
get visibleMapElements(): MapElement<TElementType>[];
|
|
113
|
+
get visibleMapElements(): MapElement<TElementType, TFilter, TLegendItem>[];
|
|
177
114
|
/**
|
|
178
115
|
* Finds a map element by its ID
|
|
179
116
|
*
|
|
180
117
|
* @param elementId - The ID of the element to find
|
|
181
118
|
* @returns The map element if found, undefined otherwise
|
|
182
119
|
*/
|
|
183
|
-
getMapElementById(elementId: TElementType): MapElement<TElementType> | undefined;
|
|
120
|
+
getMapElementById(elementId: TElementType): MapElement<TElementType, TFilter, TLegendItem> | undefined;
|
|
184
121
|
/**
|
|
185
122
|
* Checks if a map element is currently visible
|
|
186
123
|
*
|
|
@@ -194,13 +131,13 @@ declare abstract class MapElementRepository<TElementType> {
|
|
|
194
131
|
*
|
|
195
132
|
* @param mapElement - The map element to add
|
|
196
133
|
*/
|
|
197
|
-
addMapElement(mapElement: MapElement<TElementType>): void;
|
|
134
|
+
addMapElement(mapElement: MapElement<TElementType, TFilter, TLegendItem>): void;
|
|
198
135
|
/**
|
|
199
136
|
* Removes a map element from the repository and destroys it.
|
|
200
137
|
*
|
|
201
138
|
* @param mapElement - The map element to remove
|
|
202
139
|
*/
|
|
203
|
-
removeMapElement(mapElement: MapElement<TElementType>): void;
|
|
140
|
+
removeMapElement(mapElement: MapElement<TElementType, TFilter, TLegendItem>): void;
|
|
204
141
|
/**
|
|
205
142
|
* Removes all map elements from the repository and destroys them.
|
|
206
143
|
*/
|
|
@@ -224,6 +161,12 @@ declare abstract class MapElementRepository<TElementType> {
|
|
|
224
161
|
* @param elementId - The ID of the element to hide
|
|
225
162
|
*/
|
|
226
163
|
hideMapElement(elementId: TElementType): void;
|
|
164
|
+
/**
|
|
165
|
+
* Triggers a reload of the tiles in the sources of the map element with the given ID
|
|
166
|
+
*
|
|
167
|
+
* @param elementId - The ID of the element to reload
|
|
168
|
+
*/
|
|
169
|
+
reloadMapElement(elementId: TElementType): void;
|
|
227
170
|
/**
|
|
228
171
|
* Toggles the visibility of a map element by its ID.
|
|
229
172
|
* If the element is currently visible, it will be hidden, and vice versa.
|
|
@@ -241,53 +184,139 @@ declare abstract class MapElementRepository<TElementType> {
|
|
|
241
184
|
getBeforeId(elementId: TElementType): string | undefined;
|
|
242
185
|
}
|
|
243
186
|
|
|
244
|
-
|
|
187
|
+
/**
|
|
188
|
+
* Service for managing MapLibre map cursor interactions.
|
|
189
|
+
*
|
|
190
|
+
* Maplibre has no automatic cursor handling for layers, so when you add a clickHandler
|
|
191
|
+
* to a layer, the user can click on it, but the cursor will not change to a pointer.
|
|
192
|
+
* This service provides methods to set the cursor to pointer when hovering over a layer,
|
|
193
|
+
* and to enable crosshair mode which takes precedence over all other cursor types.
|
|
194
|
+
*/
|
|
195
|
+
declare class MaplibreCursorService {
|
|
245
196
|
#private;
|
|
246
|
-
|
|
247
|
-
|
|
197
|
+
/**
|
|
198
|
+
* Sets up mouse cursor handling for a map layer.
|
|
199
|
+
* Changes cursor to pointer when mouse enters the layer and resets when leaving.
|
|
200
|
+
*
|
|
201
|
+
* @param map - The MapLibre map instance
|
|
202
|
+
* @param layerId - ID of the layer to apply cursor behavior to
|
|
203
|
+
*/
|
|
204
|
+
setMouseCursor(map: Map, layerId: string): void;
|
|
205
|
+
/**
|
|
206
|
+
* Enables or disables crosshair cursor mode for the map.
|
|
207
|
+
* When enabled, crosshair cursor will take precedence over all other cursor types.
|
|
208
|
+
*
|
|
209
|
+
* @param value - True to enable crosshair mode, false to disable
|
|
210
|
+
* @param map - The MapLibre map instance to apply the cursor to
|
|
211
|
+
*/
|
|
212
|
+
/**
|
|
213
|
+
* Enables or disables crosshair cursor mode for the map.
|
|
214
|
+
* When enabled, crosshair cursor will take precedence over all other cursor types.
|
|
215
|
+
*
|
|
216
|
+
* @param value - True to enable crosshair mode, false to disable
|
|
217
|
+
* @param map - The MapLibre map instance to apply the cursor to
|
|
218
|
+
*/
|
|
219
|
+
setCrosshairMode(value: boolean, map: Map): void;
|
|
220
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MaplibreCursorService, never>;
|
|
221
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MaplibreCursorService>;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
interface MapElementConfig<TElementType, TFilter = unknown, TLegendItem = unknown> {
|
|
248
225
|
map: Map;
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
protected abstract onRemoveMap(): void;
|
|
255
|
-
protected abstract onIdle(): void;
|
|
256
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MapComponent, never>;
|
|
257
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MapComponent, "ng-component", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
226
|
+
mapElementRepository: MapElementRepository<TElementType, TFilter, TLegendItem>;
|
|
227
|
+
maplibreCursorService: MaplibreCursorService;
|
|
228
|
+
elementId: TElementType;
|
|
229
|
+
elementOrder: number;
|
|
230
|
+
isInteractive?: boolean;
|
|
258
231
|
}
|
|
259
232
|
|
|
260
|
-
declare class ApiLayer<TElementType> extends MapLayer<TElementType> {
|
|
233
|
+
declare class ApiLayer<TElementType, TFilter = unknown, TLegendItem = unknown> extends MapLayer<TElementType, TFilter, TLegendItem> {
|
|
261
234
|
private readonly _layerSpecification;
|
|
262
|
-
constructor(config: MapElementConfig<TElementType>, _layerSpecification: LayerSpecification);
|
|
235
|
+
constructor(config: MapElementConfig<TElementType, TFilter, TLegendItem>, _layerSpecification: LayerSpecification);
|
|
263
236
|
get id(): string;
|
|
264
237
|
protected getSpecification(): Partial<LayerSpecification>;
|
|
265
238
|
}
|
|
266
239
|
|
|
267
|
-
declare class ApiBackgroundLayer<
|
|
268
|
-
constructor(config: MapElementConfig<
|
|
240
|
+
declare class ApiBackgroundLayer<TElementType, TFilter = unknown, TLegendItem = unknown> extends ApiLayer<TElementType, TFilter, TLegendItem> {
|
|
241
|
+
constructor(config: MapElementConfig<TElementType, TFilter, TLegendItem>, layerSpecification: BackgroundLayerSpecification);
|
|
269
242
|
}
|
|
270
243
|
|
|
271
244
|
type LayerFilterFunction = (layer: LayerSpecification) => boolean;
|
|
272
|
-
declare class ApiSource<
|
|
245
|
+
declare class ApiSource<TElementType, TFilter = unknown, TLegendItem = unknown> extends MapSource<TElementType, TFilter, TLegendItem> {
|
|
273
246
|
private readonly _styleSpecification;
|
|
274
247
|
private readonly _layerFilter?;
|
|
275
|
-
constructor(id: string, config: MapElementConfig<
|
|
276
|
-
overrideonInit(): void;
|
|
248
|
+
constructor(id: string, config: MapElementConfig<TElementType, TFilter, TLegendItem>, _styleSpecification: StyleSpecification, _layerFilter?: LayerFilterFunction | undefined);
|
|
277
249
|
protected getSpecification(): Partial<SourceSpecification>;
|
|
278
|
-
|
|
250
|
+
/**
|
|
251
|
+
* Creates ApiLayer instances for this source without initializing them.
|
|
252
|
+
*/
|
|
253
|
+
createLayers(layers: LayerSpecification[]): void;
|
|
279
254
|
}
|
|
280
255
|
|
|
281
|
-
declare class ApiElement<
|
|
256
|
+
declare class ApiElement<TElementType, TFilter = unknown, TLegendItem = unknown> extends MapElement<TElementType, TFilter, TLegendItem> {
|
|
282
257
|
#private;
|
|
283
258
|
private readonly _http;
|
|
284
259
|
private readonly _mapStyleUrl;
|
|
285
260
|
private readonly _layerFilter?;
|
|
286
|
-
backgroundLayers: ApiBackgroundLayer<
|
|
287
|
-
constructor(config: MapElementConfig<
|
|
261
|
+
backgroundLayers: ApiBackgroundLayer<TElementType, TFilter, TLegendItem>[];
|
|
262
|
+
constructor(config: MapElementConfig<TElementType, TFilter, TLegendItem>, _http: HttpClient, _mapStyleUrl: string, _layerFilter?: LayerFilterFunction | undefined);
|
|
288
263
|
onInit(): void;
|
|
289
264
|
setVisible(visible: boolean): void;
|
|
290
265
|
}
|
|
291
266
|
|
|
292
|
-
|
|
267
|
+
interface MapConfig {
|
|
268
|
+
/** Initial center position of the map */
|
|
269
|
+
center?: LngLatLike;
|
|
270
|
+
/** Initial zoom level */
|
|
271
|
+
zoom?: number;
|
|
272
|
+
/** Maximum zoom level */
|
|
273
|
+
maxZoom?: number;
|
|
274
|
+
/** Minimum zoom level */
|
|
275
|
+
minZoom?: number;
|
|
276
|
+
/** Initial bounds to fit the map to */
|
|
277
|
+
bounds?: LngLatBoundsLike;
|
|
278
|
+
/** Enable/disable all map interactions */
|
|
279
|
+
interactive?: boolean;
|
|
280
|
+
/** Enable/disable map rotation via drag */
|
|
281
|
+
dragRotate?: boolean;
|
|
282
|
+
/** Enable/disable double-click to zoom */
|
|
283
|
+
doubleClickZoom?: boolean;
|
|
284
|
+
/** Enable/disable scroll wheel zoom */
|
|
285
|
+
scrollZoom?: boolean;
|
|
286
|
+
/** Enable/disable shift+drag box zoom */
|
|
287
|
+
boxZoom?: boolean;
|
|
288
|
+
/** Enable/disable drag to pan */
|
|
289
|
+
dragPan?: boolean;
|
|
290
|
+
/** Enable/disable keyboard navigation */
|
|
291
|
+
keyboard?: boolean;
|
|
292
|
+
/** Enable/disable touch zoom and rotation on mobile */
|
|
293
|
+
touchZoomRotate?: boolean;
|
|
294
|
+
}
|
|
295
|
+
declare const DEFAULT_MAP_CONFIG: Required<Omit<MapConfig, 'bounds'>>;
|
|
296
|
+
declare const COMMON_BOUNDS: {
|
|
297
|
+
readonly NETHERLANDS: LngLatBoundsLike;
|
|
298
|
+
readonly AMERSFOORT: LngLatBoundsLike;
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
declare abstract class MapComponent implements AfterViewInit, OnDestroy {
|
|
302
|
+
#private;
|
|
303
|
+
mapContainer: i0.Signal<ElementRef<any>>;
|
|
304
|
+
config: i0.InputSignal<Partial<MapConfig>>;
|
|
305
|
+
map: Map;
|
|
306
|
+
ngAfterViewInit(): void;
|
|
307
|
+
ngOnDestroy(): void;
|
|
308
|
+
resizeMap(): void;
|
|
309
|
+
zoomToLevel(zoomLevel: number, options?: AnimationOptions): void;
|
|
310
|
+
protected abstract onLoadMap(): void;
|
|
311
|
+
protected abstract onRemoveMap(): void;
|
|
312
|
+
protected abstract onIdle(): void;
|
|
313
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MapComponent, never>;
|
|
314
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MapComponent, "ng-component", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
declare const BOUNDS_NL: [LngLatLike, LngLatLike];
|
|
318
|
+
declare const BOUNDS_AMERSFOORT: [LngLatLike, LngLatLike];
|
|
319
|
+
declare const lineWidthFrcSpecification: DataDrivenPropertyValueSpecification<number>;
|
|
320
|
+
|
|
321
|
+
export { ApiBackgroundLayer, ApiElement, ApiLayer, ApiSource, BOUNDS_AMERSFOORT, BOUNDS_NL, COMMON_BOUNDS, DEFAULT_MAP_CONFIG, MapComponent, MapElement, MapElementRepository, MapLayer, MapSource, MaplibreCursorService, lineWidthFrcSpecification };
|
|
293
322
|
export type { ClickEvent, LayerFilterFunction, MapConfig, MapElementConfig };
|