@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.
- package/README.md +3 -0
- package/esm2022/index.js +32 -0
- package/esm2022/index.js.map +1 -0
- package/esm2022/lib/control/attribution-control.directive.js +39 -0
- package/esm2022/lib/control/attribution-control.directive.js.map +1 -0
- package/esm2022/lib/control/control.component.js +62 -0
- package/esm2022/lib/control/control.component.js.map +1 -0
- package/esm2022/lib/control/fullscreen-control.directive.js +39 -0
- package/esm2022/lib/control/fullscreen-control.directive.js.map +1 -0
- package/esm2022/lib/control/geolocate-control.directive.js +52 -0
- package/esm2022/lib/control/geolocate-control.directive.js.map +1 -0
- package/esm2022/lib/control/navigation-control.directive.js +39 -0
- package/esm2022/lib/control/navigation-control.directive.js.map +1 -0
- package/esm2022/lib/control/scale-control.directive.js +45 -0
- package/esm2022/lib/control/scale-control.directive.js.map +1 -0
- package/esm2022/lib/draggable/draggable.directive.js +121 -0
- package/esm2022/lib/draggable/draggable.directive.js.map +1 -0
- package/esm2022/lib/image/image.component.js +79 -0
- package/esm2022/lib/image/image.component.js.map +1 -0
- package/esm2022/lib/layer/layer.component.js +139 -0
- package/esm2022/lib/layer/layer.component.js.map +1 -0
- package/esm2022/lib/map/map.component.js +381 -0
- package/esm2022/lib/map/map.component.js.map +1 -0
- package/esm2022/lib/map/map.service.js +725 -0
- package/esm2022/lib/map/map.service.js.map +1 -0
- package/esm2022/lib/map/map.types.js +30 -0
- package/esm2022/lib/map/map.types.js.map +1 -0
- package/esm2022/lib/marker/marker.component.js +114 -0
- package/esm2022/lib/marker/marker.component.js.map +1 -0
- package/esm2022/lib/markers-for-clusters/markers-for-clusters.component.js +168 -0
- package/esm2022/lib/markers-for-clusters/markers-for-clusters.component.js.map +1 -0
- package/esm2022/lib/popup/popup.component.js +124 -0
- package/esm2022/lib/popup/popup.component.js.map +1 -0
- package/esm2022/lib/provide-mapbox-gl.js +8 -0
- package/esm2022/lib/provide-mapbox-gl.js.map +1 -0
- package/esm2022/lib/source/canvas-source.component.js +74 -0
- package/esm2022/lib/source/canvas-source.component.js.map +1 -0
- package/esm2022/lib/source/geojson/feature.component.js +42 -0
- package/esm2022/lib/source/geojson/feature.component.js.map +1 -0
- package/esm2022/lib/source/geojson/geojson-source.component.js +204 -0
- package/esm2022/lib/source/geojson/geojson-source.component.js.map +1 -0
- package/esm2022/lib/source/image-source.component.js +58 -0
- package/esm2022/lib/source/image-source.component.js.map +1 -0
- package/esm2022/lib/source/raster-dem-source.component.js +91 -0
- package/esm2022/lib/source/raster-dem-source.component.js.map +1 -0
- package/esm2022/lib/source/raster-source.component.js +85 -0
- package/esm2022/lib/source/raster-source.component.js.map +1 -0
- package/esm2022/lib/source/vector-source.component.js +99 -0
- package/esm2022/lib/source/vector-source.component.js.map +1 -0
- package/esm2022/lib/source/video-source.component.js +80 -0
- package/esm2022/lib/source/video-source.component.js.map +1 -0
- package/esm2022/ngx-mapbox-gl.js +5 -0
- package/esm2022/ngx-mapbox-gl.js.map +1 -0
- package/index.d.ts +24 -0
- package/lib/control/attribution-control.directive.d.ts +11 -0
- package/lib/control/control.component.d.ts +21 -0
- package/lib/control/fullscreen-control.directive.d.ts +11 -0
- package/lib/control/geolocate-control.directive.d.ts +15 -0
- package/lib/control/navigation-control.directive.d.ts +11 -0
- package/lib/control/scale-control.directive.d.ts +12 -0
- package/lib/draggable/draggable.directive.d.ts +20 -0
- package/lib/image/image.component.d.ts +34 -0
- package/lib/layer/layer.component.d.ts +422 -0
- package/lib/map/map.component.d.ts +185 -0
- package/lib/map/map.service.d.ts +123 -0
- package/lib/map/map.types.d.ts +72 -0
- package/lib/marker/marker.component.d.ts +31 -0
- package/lib/markers-for-clusters/markers-for-clusters.component.d.ts +28 -0
- package/lib/popup/popup.component.d.ts +33 -0
- package/lib/provide-mapbox-gl.d.ts +6 -0
- package/lib/source/canvas-source.component.d.ts +23 -0
- package/lib/source/geojson/feature.component.d.ts +16 -0
- package/lib/source/geojson/geojson-source.component.d.ts +63 -0
- package/lib/source/image-source.component.d.ts +22 -0
- package/lib/source/raster-dem-source.component.d.ts +23 -0
- package/lib/source/raster-source.component.d.ts +23 -0
- package/lib/source/vector-source.component.d.ts +24 -0
- package/lib/source/video-source.component.d.ts +24 -0
- package/ngx-mapbox-gl.d.ts +5 -0
- 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,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 {};
|