@geosdi/ngx-leaflet-minimap-plugin 1.1.3 → 1.1.5
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 +65 -51
- package/fesm2022/geosdi-ngx-leaflet-minimap-plugin.mjs +37 -4
- package/fesm2022/geosdi-ngx-leaflet-minimap-plugin.mjs.map +1 -1
- package/package.json +8 -9
- package/{lib/ngx-leaflet-minimap-plugin.service.d.ts → types/geosdi-ngx-leaflet-minimap-plugin.d.ts} +36 -4
- package/esm2022/geosdi-ngx-leaflet-minimap-plugin.mjs +0 -5
- package/esm2022/index.mjs +0 -5
- package/esm2022/lib/ngx-leaflet-minimap-plugin.service.mjs +0 -184
- package/index.d.ts +0 -1
package/README.md
CHANGED
|
@@ -12,69 +12,83 @@ Service to wrap Leaflet.MiniMap see documentation to https://github.com/Norkart/
|
|
|
12
12
|
|
|
13
13
|
It depends on :
|
|
14
14
|
|
|
15
|
-
"@angular/common": ">=
|
|
16
|
-
"@angular/core": ">=
|
|
17
|
-
"typescript": ">=
|
|
18
|
-
"leaflet": ">=1.
|
|
19
|
-
"rxjs": "
|
|
20
|
-
"leaflet-minimap": "
|
|
15
|
+
"@angular/common": ">=20.0.0",
|
|
16
|
+
"@angular/core": ">=20.0.0",
|
|
17
|
+
"typescript": ">=5.0.0",
|
|
18
|
+
"leaflet": ">=1.9.3",
|
|
19
|
+
"rxjs": ">=7.8.2",
|
|
20
|
+
"leaflet-minimap": ">=3.6.1"
|
|
21
|
+
|
|
22
|
+
## The base layer
|
|
23
|
+
|
|
24
|
+
`withLayer` is optional: without it the minimap shows OpenStreetMap, requested the way their
|
|
25
|
+
[tile usage policy](https://operations.osmfoundation.org/policies/tiles/) asks — the single host
|
|
26
|
+
`tile.openstreetmap.org`, a visible credit linking to `openstreetmap.org/copyright`, and tiles
|
|
27
|
+
downloaded no deeper than zoom 13 (above that Leaflet scales them up, so the minimap never goes
|
|
28
|
+
blank). A client that does not attribute and keeps asking for tiles it does not need is the one OSM
|
|
29
|
+
answers with a 403 "Access blocked" tile.
|
|
30
|
+
|
|
31
|
+
That default is a courtesy, not a plan: those servers are run by volunteers and their policy
|
|
32
|
+
forbids relying on them for an application you distribute. Pass your own layer — for example
|
|
33
|
+
`NgxLeafletLayersPluginService.createLayer(...)`, which builds the same layers as the main map — and
|
|
34
|
+
the default is never used.
|
|
21
35
|
|
|
22
36
|
## Usage
|
|
23
37
|
|
|
24
|
-
|
|
38
|
+
```typescript
|
|
25
39
|
|
|
26
40
|
@Injectable({
|
|
27
|
-
|
|
41
|
+
providedIn: 'root'
|
|
28
42
|
})
|
|
29
43
|
export class BootstrapService {
|
|
30
44
|
|
|
31
45
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
constructor(private ngxLeafletPrintPluginService: NgxLeafletPrintPluginService) {
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public initMiniMap() {
|
|
50
|
+
this.ngxLeafletMinimapPluginService
|
|
51
|
+
.withMap(this.map)
|
|
52
|
+
.withLayer(this.ngxLeafletLayersPluginService.createLayer(BaseLayerEnum.OPEN_STREET_MAP))
|
|
53
|
+
.withZoomLevelOffset(-3)
|
|
54
|
+
.withAutoToogleDisplay(false)
|
|
55
|
+
.withToogleDisplay(true)
|
|
56
|
+
.withPosition('bottomright')
|
|
57
|
+
.withHeight(150)
|
|
58
|
+
.withWidth(150)
|
|
59
|
+
.withCollapsedWidth(9)
|
|
60
|
+
.withCollapsedWidth(9)
|
|
61
|
+
.withCenterFixed([lat, lng])
|
|
62
|
+
.withMinimized(true)
|
|
63
|
+
.withStrings(strings: { hideText: 'Hide', showText: 'Show' }
|
|
64
|
+
.withZoomAnimation()
|
|
65
|
+
.withZoomLevelFixed(3)
|
|
66
|
+
.withZoomLevelOffset(3)
|
|
67
|
+
.applyMiniMapPlugin();
|
|
68
|
+
}
|
|
55
69
|
|
|
56
70
|
}
|
|
57
71
|
|
|
58
|
-
|
|
72
|
+
```
|
|
59
73
|
|
|
60
74
|
## Methods
|
|
61
75
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
| Method | action |
|
|
77
|
+
| ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
78
|
+
| withMap(map: any): NgxLeafletMinimapPluginService | the leaflet map |
|
|
79
|
+
| withLayer(layer: any): NgxLeafletMinimapPluginService | base layer to display |
|
|
80
|
+
| withToogleDisplay(toogle: boolean): NgxLeafletMinimapPluginService | Sets whether the minimap should have a button to minimise it. Defaults to false. |
|
|
81
|
+
| withAutoToogleDisplay(autoToogleDislay: boolean): NgxLeafletMinimapPluginService | Sets whether the minimap should hide automatically if the parent map bounds does not fit within the minimap bounds. Especially useful when 'zoomLevelFixed' is set. |
|
|
82
|
+
| withPosition(position: 'topleft' | 'topright' | 'bottomleft' | 'bottomright'): NgxLeafletMinimapPluginService | position of the button |
|
|
83
|
+
| withHeight(height: number): NgxLeafletMinimapPluginService | The height of the minimap in pixels. Defaults to 150 |
|
|
84
|
+
| withWidth(width: number): NgxLeafletMinimapPluginService | The width of the minimap in pixels. Defaults to 150 |
|
|
85
|
+
| withCollapseHeight(collapseHeight: number): NgxLeafletMinimapPluginService | The width of the toggle marker and the minimap when collapsed, in pixels. Defaults to 19. |
|
|
86
|
+
| withCollapseWidth(collapseWidth: number): NgxLeafletMinimapPluginService | The height of the toggle marker and the minimap when collapsed, in pixels. Defaults to 19. |
|
|
87
|
+
| withZoomLevelOffset(zoomLevelOffset: number): NgxLeafletMinimapPluginService | The offset applied to the zoom in the minimap compared to the zoom of the main map. Can be positive or negative, defaults to -5. |
|
|
88
|
+
| withZoomLevelFixed(zoomLevelFixed: number): NgxLeafletMinimapPluginService | Overrides the offset to apply a fixed zoom level to the minimap regardless of the main map zoom. Set it to any valid zoom level, if unset zoomLevelOffset is used instead. |
|
|
89
|
+
| withCenterFixed(centerFixed: number[]): NgxLeafletMinimapPluginService | Applies a fixed position to the minimap regardless of the main map's view / position. Prevents panning the minimap, but does allow zooming (both in the minimap and the main map). If the minimap is zoomed, it will always zoom around the centerFixed point. You can pass in a LatLng-equivalent object. Defaults to false. |
|
|
90
|
+
| withZoomAnimation(zoomAnimation: any): NgxLeafletMinimapPluginService | Sets whether the minimap should have an animated zoom. (Will cause it to lag a bit after the movement of the main map.) Defaults to false. |
|
|
91
|
+
| withMimimized(minimized: boolean): NgxLeafletMinimapPluginService | Sets whether the minimap should start in a minimized position. |
|
|
92
|
+
| withStrings(strings: {hideText: string, showText: string}): NgxLeafletMinimapPluginService | Overrides the default strings allowing for translation. |
|
|
93
|
+
| applyMiniMapPlugin(): void | add plugin to map |
|
|
94
|
+
| changeLayer(layer: any): void | change base layer to map |
|
|
@@ -9,7 +9,40 @@ class NgxLeafletMinimapPluginService {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.subjectMiniMapEvent$ = new Subject();
|
|
11
11
|
this.subjectChangeLayer$ = new Subject();
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Lo sfondo di ripiego, per chi non passa `withLayer`.
|
|
14
|
+
*
|
|
15
|
+
* Chiede i tile di OSM come la loro
|
|
16
|
+
* {@link https://operations.osmfoundation.org/policies/tiles/ usage policy}
|
|
17
|
+
* pretende, che è la stessa regola del basemap in
|
|
18
|
+
* `ngx-leaflet-layers-plugin` — e chi non la rispetta si vede rispondere
|
|
19
|
+
* **403 con il tile «Access blocked»**, che a video non è un errore ma un
|
|
20
|
+
* riquadro grigio, quindi si cerca il guasto nel codice che disegna :
|
|
21
|
+
*
|
|
22
|
+
* - **host singolo**, niente sottodomini `{s}` : quelli servivano a
|
|
23
|
+
* moltiplicare le connessioni parallele di HTTP/1.1 verso server tenuti da
|
|
24
|
+
* volontari, sono deprecati e oggi sono solo carico in più;
|
|
25
|
+
* - **attribuzione cliccabile**, verso `openstreetmap.org/copyright`;
|
|
26
|
+
* - **fin dove si vuole chiedere**, che è la coppia qui sotto.
|
|
27
|
+
*
|
|
28
|
+
* `maxNativeZoom` a 13 **non** è un limite di quanto si può zoomare : è fin
|
|
29
|
+
* dove i tile si scaricano, e sopra Leaflet ingrandisce quelli che ha. Tenuto
|
|
30
|
+
* basso di proposito — la minimappa è un riquadro da 150px, dove un tile z13
|
|
31
|
+
* ingrandito non si distingue da uno z18 nuovo, e ogni livello in più sarebbe
|
|
32
|
+
* un'altra griglia di richieste a quei server per niente. È il risparmio che
|
|
33
|
+
* il vecchio `maxZoom: 13` otteneva, ma quello **nascondeva il layer** oltre
|
|
34
|
+
* il 13 : su una mappa che zooma più in là — maplite in Agitec arriva a 30 —
|
|
35
|
+
* la minimappa restava **bianca**, senza che niente lo dicesse.
|
|
36
|
+
*
|
|
37
|
+
* La minimappa raddoppia le richieste di una pagina, perché mostra lo stesso
|
|
38
|
+
* sfondo della mappa grande : è il motivo per cui qui conta più che altrove.
|
|
39
|
+
*/
|
|
40
|
+
this.layer = new L.TileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png", {
|
|
41
|
+
minZoom: 0,
|
|
42
|
+
maxNativeZoom: 13,
|
|
43
|
+
maxZoom: 22,
|
|
44
|
+
attribution: '© <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener">OpenStreetMap</a> contributors',
|
|
45
|
+
});
|
|
13
46
|
this.position = "bottomright";
|
|
14
47
|
this.toogle = true;
|
|
15
48
|
this.autoToogleDisplay = true;
|
|
@@ -172,10 +205,10 @@ class NgxLeafletMinimapPluginService {
|
|
|
172
205
|
});
|
|
173
206
|
}
|
|
174
207
|
}
|
|
175
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
176
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
208
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgxLeafletMinimapPluginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
209
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgxLeafletMinimapPluginService, providedIn: "root" }); }
|
|
177
210
|
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgxLeafletMinimapPluginService, decorators: [{
|
|
179
212
|
type: Injectable,
|
|
180
213
|
args: [{
|
|
181
214
|
providedIn: "root",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geosdi-ngx-leaflet-minimap-plugin.mjs","sources":["../../../../projects/geosdi/leaflet/ngx-leaflet-minimap-plugin/src/lib/ngx-leaflet-minimap-plugin.service.ts","../../../../projects/geosdi/leaflet/ngx-leaflet-minimap-plugin/src/index.ts","../../../../projects/geosdi/leaflet/ngx-leaflet-minimap-plugin/src/geosdi-ngx-leaflet-minimap-plugin.ts"],"sourcesContent":["//@ts-ignore\nimport * as L from \"leaflet\";\nimport { Injectable } from \"@angular/core\";\n//@ts-ignore\nimport MiniMap from \"leaflet-minimap\";\nimport { Subject } from \"rxjs\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport interface INgxLeafletMinimapPluginService {\n /**\n * @param map\n */\n withMap(map: any): NgxLeafletMinimapPluginService;\n\n /**\n * @param layer\n */\n withLayer(layer: any): NgxLeafletMinimapPluginService;\n\n /**\n * @param toogle\n */\n withToogleDisplay(toogle: boolean): NgxLeafletMinimapPluginService;\n\n /**\n * @param autoToogleDislay\n */\n withAutoToogleDisplay(\n autoToogleDislay: boolean,\n ): NgxLeafletMinimapPluginService;\n\n /**\n * @param position\n */\n withPosition(\n position: \"topleft\" | \"topright\" | \"bottomleft\" | \"bottomright\",\n ): NgxLeafletMinimapPluginService;\n\n /**\n * @param height\n */\n withHeight(height: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param width\n */\n withWidth(width: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param collapseHeight\n */\n withCollapseHeight(collapseHeight: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param collapseWidth\n */\n withCollapseWidth(collapseWidth: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param zoomLevelOffset\n */\n withZoomLevelOffset(\n zoomLevelOffset: number,\n ): NgxLeafletMinimapPluginService;\n\n /**\n * @param zoomLevelOffset\n */\n withZoomLevelFixed(zoomLevelFixed: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param centerFixed\n */\n withCenterFixed(centerFixed: number[]): NgxLeafletMinimapPluginService;\n\n /**\n * @param zoomAnimation\n */\n withZoomAnimation(zoomAnimation: any): NgxLeafletMinimapPluginService;\n\n /**\n * @param minimized\n */\n withMimimized(minimized: boolean): NgxLeafletMinimapPluginService;\n\n /**\n * @param strings\n */\n withStrings(strings: {\n hideText: string;\n showText: string;\n }): NgxLeafletMinimapPluginService;\n\n /**\n * @param theMapOptions\n */\n withMapOptions(theMapOptions: any): NgxLeafletMinimapPluginService;\n\n /**\n */\n applyMiniMapPlugin(): void;\n\n /**\n * @param layer\n */\n changeLayer(layer: any): void;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class NgxLeafletMinimapPluginService\n implements INgxLeafletMinimapPluginService\n{\n subjectMiniMapEvent$ = new Subject<boolean>();\n subjectChangeLayer$ = new Subject<any>();\n private map: any;\n private layer: any = new L.TileLayer(\n \"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",\n { minZoom: 0, maxZoom: 13 },\n );\n private _miniMap: any;\n private position: string = \"bottomright\";\n private toogle: boolean = true;\n private autoToogleDisplay: boolean = true;\n private height: number = 150;\n private width: number = 150;\n private collapsedHeight: number = 19;\n private collapsedWidth: number = 19;\n private centerFixed: number[];\n private minimized: boolean = false;\n private strings: { hideText: string; showText: string } = {\n hideText: \"Nascondi\",\n showText: \"Mostra\",\n };\n private zoomAnimation: any;\n private zoomLevelFixed: number;\n private zoomLevelOffset: number = -5;\n private mapOptions: any;\n\n constructor() {\n this.subjectChangeLayer$.subscribe(\n (theLayer: any) => (this.layer = theLayer),\n );\n }\n\n /**\n * @param map\n */\n withMap(map: any): NgxLeafletMinimapPluginService {\n this.map = map;\n return this;\n }\n\n withToogleDisplay(toogle: boolean): NgxLeafletMinimapPluginService {\n this.toogle = toogle;\n return this;\n }\n\n /**\n * @param autoToogleDislay\n */\n withAutoToogleDisplay(\n autoToogleDislay: boolean,\n ): NgxLeafletMinimapPluginService {\n this.autoToogleDisplay = autoToogleDislay;\n return this;\n }\n\n /**\n * @param layer\n */\n withLayer(layer: any): NgxLeafletMinimapPluginService {\n this.layer = layer;\n return this;\n }\n\n /**\n * @param position\n */\n withPosition(\n position: \"topleft\" | \"topright\" | \"bottomleft\" | \"bottomright\",\n ): NgxLeafletMinimapPluginService {\n this.position = position;\n return this;\n }\n\n /**\n * @param height\n */\n withHeight(height: number): NgxLeafletMinimapPluginService {\n this.height = height;\n return this;\n }\n\n /**\n * @param width\n */\n withWidth(width: number): NgxLeafletMinimapPluginService {\n this.width = width;\n return this;\n }\n\n /**\n * @param centerFixed\n */\n withCenterFixed(centerFixed: number[]): NgxLeafletMinimapPluginService {\n this.centerFixed = centerFixed;\n return this;\n }\n\n /**\n * @param collapseHeight\n */\n withCollapseHeight(collapseHeight: number): NgxLeafletMinimapPluginService {\n this.collapsedHeight = collapseHeight;\n return this;\n }\n\n /**\n * @param collapseWidth\n */\n withCollapseWidth(collapseWidth: number): NgxLeafletMinimapPluginService {\n this.collapsedWidth = collapseWidth;\n return this;\n }\n\n /**\n * @param minimized\n */\n withMimimized(minimized: boolean): NgxLeafletMinimapPluginService {\n this.minimized = minimized;\n return this;\n }\n\n withStrings(strings: {\n hideText: string;\n showText: string;\n }): NgxLeafletMinimapPluginService {\n this.strings = strings;\n return this;\n }\n\n /**\n * @param zoomAnimation\n */\n withZoomAnimation(zoomAnimation: any): NgxLeafletMinimapPluginService {\n this.zoomAnimation = zoomAnimation;\n return this;\n }\n\n /**\n * @param zoomLevelFixed\n */\n withZoomLevelFixed(zoomLevelFixed: number): NgxLeafletMinimapPluginService {\n this.zoomLevelFixed = zoomLevelFixed;\n return this;\n }\n\n /**\n * @param zoomLevelOffset\n */\n withZoomLevelOffset(\n zoomLevelOffset: number,\n ): NgxLeafletMinimapPluginService {\n this.zoomLevelOffset = zoomLevelOffset;\n return this;\n }\n\n /**\n * @param theMapOptions\n */\n withMapOptions(theMapOptions: any): NgxLeafletMinimapPluginService {\n this.mapOptions = theMapOptions;\n return this;\n }\n\n /**\n * @param layer\n */\n changeLayer(layer: any): void {\n this.layer = layer;\n this._miniMap?.changeLayer(this.layer);\n }\n\n /**\n *\n */\n get minimap() {\n return this._miniMap;\n }\n\n /**\n */\n applyMiniMapPlugin(): void {\n if (this.map) {\n this._miniMap = new MiniMap(this.layer, {\n position: this.position,\n width: this.width,\n height: this.height,\n collapsedWidth: this.collapsedWidth,\n collapsedHeight: this.collapsedHeight,\n zoomLevelOffset: this.zoomLevelOffset,\n zoomLevelFixed: this.zoomLevelFixed,\n centerFixed: this.centerFixed,\n zoomAnimation: this.zoomAnimation,\n toggleDisplay: this.toogle,\n autoToggleDisplay: this.autoToogleDisplay,\n minimized: this.minimized,\n strings: this.strings,\n //mapOptions: this.mapOptions\n }).addTo(this.map);\n this._miniMap.on(\"minimize\", () => {\n this.subjectMiniMapEvent$.next(false);\n });\n this._miniMap.on(\"restore\", () => {\n this.subjectMiniMapEvent$.next(true);\n });\n }\n }\n}\n","/*\n * Public API Surface of ngx-leaflet-minimap-plugin\n */\n\nexport * from \"./lib/ngx-leaflet-minimap-plugin.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geosdi-ngx-leaflet-minimap-plugin.mjs","sources":["../../../../projects/geosdi/leaflet/ngx-leaflet-minimap-plugin/src/lib/ngx-leaflet-minimap-plugin.service.ts","../../../../projects/geosdi/leaflet/ngx-leaflet-minimap-plugin/src/index.ts","../../../../projects/geosdi/leaflet/ngx-leaflet-minimap-plugin/src/geosdi-ngx-leaflet-minimap-plugin.ts"],"sourcesContent":["//@ts-ignore\nimport * as L from \"leaflet\";\nimport { Injectable } from \"@angular/core\";\n//@ts-ignore\nimport MiniMap from \"leaflet-minimap\";\nimport { Subject } from \"rxjs\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport interface INgxLeafletMinimapPluginService {\n /**\n * @param map\n */\n withMap(map: any): NgxLeafletMinimapPluginService;\n\n /**\n * @param layer\n */\n withLayer(layer: any): NgxLeafletMinimapPluginService;\n\n /**\n * @param toogle\n */\n withToogleDisplay(toogle: boolean): NgxLeafletMinimapPluginService;\n\n /**\n * @param autoToogleDislay\n */\n withAutoToogleDisplay(\n autoToogleDislay: boolean,\n ): NgxLeafletMinimapPluginService;\n\n /**\n * @param position\n */\n withPosition(\n position: \"topleft\" | \"topright\" | \"bottomleft\" | \"bottomright\",\n ): NgxLeafletMinimapPluginService;\n\n /**\n * @param height\n */\n withHeight(height: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param width\n */\n withWidth(width: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param collapseHeight\n */\n withCollapseHeight(collapseHeight: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param collapseWidth\n */\n withCollapseWidth(collapseWidth: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param zoomLevelOffset\n */\n withZoomLevelOffset(\n zoomLevelOffset: number,\n ): NgxLeafletMinimapPluginService;\n\n /**\n * @param zoomLevelOffset\n */\n withZoomLevelFixed(zoomLevelFixed: number): NgxLeafletMinimapPluginService;\n\n /**\n * @param centerFixed\n */\n withCenterFixed(centerFixed: number[]): NgxLeafletMinimapPluginService;\n\n /**\n * @param zoomAnimation\n */\n withZoomAnimation(zoomAnimation: any): NgxLeafletMinimapPluginService;\n\n /**\n * @param minimized\n */\n withMimimized(minimized: boolean): NgxLeafletMinimapPluginService;\n\n /**\n * @param strings\n */\n withStrings(strings: {\n hideText: string;\n showText: string;\n }): NgxLeafletMinimapPluginService;\n\n /**\n * @param theMapOptions\n */\n withMapOptions(theMapOptions: any): NgxLeafletMinimapPluginService;\n\n /**\n */\n applyMiniMapPlugin(): void;\n\n /**\n * @param layer\n */\n changeLayer(layer: any): void;\n}\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class NgxLeafletMinimapPluginService implements INgxLeafletMinimapPluginService {\n subjectMiniMapEvent$ = new Subject<boolean>();\n subjectChangeLayer$ = new Subject<any>();\n private map: any;\n /**\n * Lo sfondo di ripiego, per chi non passa `withLayer`.\n *\n * Chiede i tile di OSM come la loro\n * {@link https://operations.osmfoundation.org/policies/tiles/ usage policy}\n * pretende, che è la stessa regola del basemap in\n * `ngx-leaflet-layers-plugin` — e chi non la rispetta si vede rispondere\n * **403 con il tile «Access blocked»**, che a video non è un errore ma un\n * riquadro grigio, quindi si cerca il guasto nel codice che disegna :\n *\n * - **host singolo**, niente sottodomini `{s}` : quelli servivano a\n * moltiplicare le connessioni parallele di HTTP/1.1 verso server tenuti da\n * volontari, sono deprecati e oggi sono solo carico in più;\n * - **attribuzione cliccabile**, verso `openstreetmap.org/copyright`;\n * - **fin dove si vuole chiedere**, che è la coppia qui sotto.\n *\n * `maxNativeZoom` a 13 **non** è un limite di quanto si può zoomare : è fin\n * dove i tile si scaricano, e sopra Leaflet ingrandisce quelli che ha. Tenuto\n * basso di proposito — la minimappa è un riquadro da 150px, dove un tile z13\n * ingrandito non si distingue da uno z18 nuovo, e ogni livello in più sarebbe\n * un'altra griglia di richieste a quei server per niente. È il risparmio che\n * il vecchio `maxZoom: 13` otteneva, ma quello **nascondeva il layer** oltre\n * il 13 : su una mappa che zooma più in là — maplite in Agitec arriva a 30 —\n * la minimappa restava **bianca**, senza che niente lo dicesse.\n *\n * La minimappa raddoppia le richieste di una pagina, perché mostra lo stesso\n * sfondo della mappa grande : è il motivo per cui qui conta più che altrove.\n */\n private layer: any = new L.TileLayer(\n \"https://tile.openstreetmap.org/{z}/{x}/{y}.png\",\n {\n minZoom: 0,\n maxNativeZoom: 13,\n maxZoom: 22,\n attribution:\n '© <a href=\"https://www.openstreetmap.org/copyright\" target=\"_blank\" rel=\"noopener\">OpenStreetMap</a> contributors',\n },\n );\n private _miniMap: any;\n private position: string = \"bottomright\";\n private toogle: boolean = true;\n private autoToogleDisplay: boolean = true;\n private height: number = 150;\n private width: number = 150;\n private collapsedHeight: number = 19;\n private collapsedWidth: number = 19;\n private centerFixed: number[];\n private minimized: boolean = false;\n private strings: { hideText: string; showText: string } = {\n hideText: \"Nascondi\",\n showText: \"Mostra\",\n };\n private zoomAnimation: any;\n private zoomLevelFixed: number;\n private zoomLevelOffset: number = -5;\n private mapOptions: any;\n\n constructor() {\n this.subjectChangeLayer$.subscribe(\n (theLayer: any) => (this.layer = theLayer),\n );\n }\n\n /**\n * @param map\n */\n withMap(map: any): NgxLeafletMinimapPluginService {\n this.map = map;\n return this;\n }\n\n withToogleDisplay(toogle: boolean): NgxLeafletMinimapPluginService {\n this.toogle = toogle;\n return this;\n }\n\n /**\n * @param autoToogleDislay\n */\n withAutoToogleDisplay(\n autoToogleDislay: boolean,\n ): NgxLeafletMinimapPluginService {\n this.autoToogleDisplay = autoToogleDislay;\n return this;\n }\n\n /**\n * @param layer\n */\n withLayer(layer: any): NgxLeafletMinimapPluginService {\n this.layer = layer;\n return this;\n }\n\n /**\n * @param position\n */\n withPosition(\n position: \"topleft\" | \"topright\" | \"bottomleft\" | \"bottomright\",\n ): NgxLeafletMinimapPluginService {\n this.position = position;\n return this;\n }\n\n /**\n * @param height\n */\n withHeight(height: number): NgxLeafletMinimapPluginService {\n this.height = height;\n return this;\n }\n\n /**\n * @param width\n */\n withWidth(width: number): NgxLeafletMinimapPluginService {\n this.width = width;\n return this;\n }\n\n /**\n * @param centerFixed\n */\n withCenterFixed(centerFixed: number[]): NgxLeafletMinimapPluginService {\n this.centerFixed = centerFixed;\n return this;\n }\n\n /**\n * @param collapseHeight\n */\n withCollapseHeight(collapseHeight: number): NgxLeafletMinimapPluginService {\n this.collapsedHeight = collapseHeight;\n return this;\n }\n\n /**\n * @param collapseWidth\n */\n withCollapseWidth(collapseWidth: number): NgxLeafletMinimapPluginService {\n this.collapsedWidth = collapseWidth;\n return this;\n }\n\n /**\n * @param minimized\n */\n withMimimized(minimized: boolean): NgxLeafletMinimapPluginService {\n this.minimized = minimized;\n return this;\n }\n\n withStrings(strings: {\n hideText: string;\n showText: string;\n }): NgxLeafletMinimapPluginService {\n this.strings = strings;\n return this;\n }\n\n /**\n * @param zoomAnimation\n */\n withZoomAnimation(zoomAnimation: any): NgxLeafletMinimapPluginService {\n this.zoomAnimation = zoomAnimation;\n return this;\n }\n\n /**\n * @param zoomLevelFixed\n */\n withZoomLevelFixed(zoomLevelFixed: number): NgxLeafletMinimapPluginService {\n this.zoomLevelFixed = zoomLevelFixed;\n return this;\n }\n\n /**\n * @param zoomLevelOffset\n */\n withZoomLevelOffset(\n zoomLevelOffset: number,\n ): NgxLeafletMinimapPluginService {\n this.zoomLevelOffset = zoomLevelOffset;\n return this;\n }\n\n /**\n * @param theMapOptions\n */\n withMapOptions(theMapOptions: any): NgxLeafletMinimapPluginService {\n this.mapOptions = theMapOptions;\n return this;\n }\n\n /**\n * @param layer\n */\n changeLayer(layer: any): void {\n this.layer = layer;\n this._miniMap?.changeLayer(this.layer);\n }\n\n /**\n *\n */\n get minimap() {\n return this._miniMap;\n }\n\n /**\n */\n applyMiniMapPlugin(): void {\n if (this.map) {\n this._miniMap = new MiniMap(this.layer, {\n position: this.position,\n width: this.width,\n height: this.height,\n collapsedWidth: this.collapsedWidth,\n collapsedHeight: this.collapsedHeight,\n zoomLevelOffset: this.zoomLevelOffset,\n zoomLevelFixed: this.zoomLevelFixed,\n centerFixed: this.centerFixed,\n zoomAnimation: this.zoomAnimation,\n toggleDisplay: this.toogle,\n autoToggleDisplay: this.autoToogleDisplay,\n minimized: this.minimized,\n strings: this.strings,\n //mapOptions: this.mapOptions\n }).addTo(this.map);\n this._miniMap.on(\"minimize\", () => {\n this.subjectMiniMapEvent$.next(false);\n });\n this._miniMap.on(\"restore\", () => {\n this.subjectMiniMapEvent$.next(true);\n });\n }\n }\n}\n","/*\n * Public API Surface of ngx-leaflet-minimap-plugin\n */\n\nexport * from \"./lib/ngx-leaflet-minimap-plugin.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geosdi/ngx-leaflet-minimap-plugin",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.5",
|
|
4
4
|
"description": "Service to add minimap for Leaflet Map",
|
|
5
5
|
"author": "Salvia Vito (vito.salvia@gmail.com)",
|
|
6
6
|
"keywords": [
|
|
@@ -16,25 +16,24 @@
|
|
|
16
16
|
"tslib": "^2.3.0"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@angular/common": ">=
|
|
20
|
-
"@angular/core": ">=
|
|
19
|
+
"@angular/common": ">=20.0.0",
|
|
20
|
+
"@angular/core": ">=20.0.0",
|
|
21
21
|
"typescript": ">=5.0.0",
|
|
22
22
|
"leaflet": ">=1.9.3",
|
|
23
|
-
"rxjs": " >=7.8.
|
|
23
|
+
"rxjs": " >=7.8.2",
|
|
24
24
|
"leaflet-minimap": ">=3.6.1"
|
|
25
25
|
},
|
|
26
26
|
"module": "fesm2022/geosdi-ngx-leaflet-minimap-plugin.mjs",
|
|
27
|
-
"typings": "
|
|
27
|
+
"typings": "types/geosdi-ngx-leaflet-minimap-plugin.d.ts",
|
|
28
28
|
"exports": {
|
|
29
29
|
"./package.json": {
|
|
30
30
|
"default": "./package.json"
|
|
31
31
|
},
|
|
32
32
|
".": {
|
|
33
|
-
"types": "./
|
|
34
|
-
"esm2022": "./esm2022/geosdi-ngx-leaflet-minimap-plugin.mjs",
|
|
35
|
-
"esm": "./esm2022/geosdi-ngx-leaflet-minimap-plugin.mjs",
|
|
33
|
+
"types": "./types/geosdi-ngx-leaflet-minimap-plugin.d.ts",
|
|
36
34
|
"default": "./fesm2022/geosdi-ngx-leaflet-minimap-plugin.mjs"
|
|
37
35
|
}
|
|
38
36
|
},
|
|
39
|
-
"sideEffects": false
|
|
37
|
+
"sideEffects": false,
|
|
38
|
+
"type": "module"
|
|
40
39
|
}
|
package/{lib/ngx-leaflet-minimap-plugin.service.d.ts → types/geosdi-ngx-leaflet-minimap-plugin.d.ts}
RENAMED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Subject } from
|
|
2
|
-
import * as i0 from
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* @author Vito Salvia - CNR IMAA geoSDI Group
|
|
5
6
|
* @email vito.salvia@gmail.com
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
+
interface INgxLeafletMinimapPluginService {
|
|
8
9
|
/**
|
|
9
10
|
* @param map
|
|
10
11
|
*/
|
|
@@ -80,10 +81,38 @@ export interface INgxLeafletMinimapPluginService {
|
|
|
80
81
|
*/
|
|
81
82
|
changeLayer(layer: any): void;
|
|
82
83
|
}
|
|
83
|
-
|
|
84
|
+
declare class NgxLeafletMinimapPluginService implements INgxLeafletMinimapPluginService {
|
|
84
85
|
subjectMiniMapEvent$: Subject<boolean>;
|
|
85
86
|
subjectChangeLayer$: Subject<any>;
|
|
86
87
|
private map;
|
|
88
|
+
/**
|
|
89
|
+
* Lo sfondo di ripiego, per chi non passa `withLayer`.
|
|
90
|
+
*
|
|
91
|
+
* Chiede i tile di OSM come la loro
|
|
92
|
+
* {@link https://operations.osmfoundation.org/policies/tiles/ usage policy}
|
|
93
|
+
* pretende, che è la stessa regola del basemap in
|
|
94
|
+
* `ngx-leaflet-layers-plugin` — e chi non la rispetta si vede rispondere
|
|
95
|
+
* **403 con il tile «Access blocked»**, che a video non è un errore ma un
|
|
96
|
+
* riquadro grigio, quindi si cerca il guasto nel codice che disegna :
|
|
97
|
+
*
|
|
98
|
+
* - **host singolo**, niente sottodomini `{s}` : quelli servivano a
|
|
99
|
+
* moltiplicare le connessioni parallele di HTTP/1.1 verso server tenuti da
|
|
100
|
+
* volontari, sono deprecati e oggi sono solo carico in più;
|
|
101
|
+
* - **attribuzione cliccabile**, verso `openstreetmap.org/copyright`;
|
|
102
|
+
* - **fin dove si vuole chiedere**, che è la coppia qui sotto.
|
|
103
|
+
*
|
|
104
|
+
* `maxNativeZoom` a 13 **non** è un limite di quanto si può zoomare : è fin
|
|
105
|
+
* dove i tile si scaricano, e sopra Leaflet ingrandisce quelli che ha. Tenuto
|
|
106
|
+
* basso di proposito — la minimappa è un riquadro da 150px, dove un tile z13
|
|
107
|
+
* ingrandito non si distingue da uno z18 nuovo, e ogni livello in più sarebbe
|
|
108
|
+
* un'altra griglia di richieste a quei server per niente. È il risparmio che
|
|
109
|
+
* il vecchio `maxZoom: 13` otteneva, ma quello **nascondeva il layer** oltre
|
|
110
|
+
* il 13 : su una mappa che zooma più in là — maplite in Agitec arriva a 30 —
|
|
111
|
+
* la minimappa restava **bianca**, senza che niente lo dicesse.
|
|
112
|
+
*
|
|
113
|
+
* La minimappa raddoppia le richieste di una pagina, perché mostra lo stesso
|
|
114
|
+
* sfondo della mappa grande : è il motivo per cui qui conta più che altrove.
|
|
115
|
+
*/
|
|
87
116
|
private layer;
|
|
88
117
|
private _miniMap;
|
|
89
118
|
private position;
|
|
@@ -176,3 +205,6 @@ export declare class NgxLeafletMinimapPluginService implements INgxLeafletMinima
|
|
|
176
205
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxLeafletMinimapPluginService, never>;
|
|
177
206
|
static ɵprov: i0.ɵɵInjectableDeclaration<NgxLeafletMinimapPluginService>;
|
|
178
207
|
}
|
|
208
|
+
|
|
209
|
+
export { NgxLeafletMinimapPluginService };
|
|
210
|
+
export type { INgxLeafletMinimapPluginService };
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Vvc2RpLW5neC1sZWFmbGV0LW1pbmltYXAtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2Vvc2RpL2xlYWZsZXQvbmd4LWxlYWZsZXQtbWluaW1hcC1wbHVnaW4vc3JjL2dlb3NkaS1uZ3gtbGVhZmxldC1taW5pbWFwLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/index.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-leaflet-minimap-plugin
|
|
3
|
-
*/
|
|
4
|
-
export * from "./lib/ngx-leaflet-minimap-plugin.service";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW9zZGkvbGVhZmxldC9uZ3gtbGVhZmxldC1taW5pbWFwLXBsdWdpbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbGVhZmxldC1taW5pbWFwLXBsdWdpblxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZ3gtbGVhZmxldC1taW5pbWFwLXBsdWdpbi5zZXJ2aWNlXCI7XG4iXX0=
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
//@ts-ignore
|
|
2
|
-
import * as L from "leaflet";
|
|
3
|
-
import { Injectable } from "@angular/core";
|
|
4
|
-
//@ts-ignore
|
|
5
|
-
import MiniMap from "leaflet-minimap";
|
|
6
|
-
import { Subject } from "rxjs";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class NgxLeafletMinimapPluginService {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.subjectMiniMapEvent$ = new Subject();
|
|
11
|
-
this.subjectChangeLayer$ = new Subject();
|
|
12
|
-
this.layer = new L.TileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", { minZoom: 0, maxZoom: 13 });
|
|
13
|
-
this.position = "bottomright";
|
|
14
|
-
this.toogle = true;
|
|
15
|
-
this.autoToogleDisplay = true;
|
|
16
|
-
this.height = 150;
|
|
17
|
-
this.width = 150;
|
|
18
|
-
this.collapsedHeight = 19;
|
|
19
|
-
this.collapsedWidth = 19;
|
|
20
|
-
this.minimized = false;
|
|
21
|
-
this.strings = {
|
|
22
|
-
hideText: "Nascondi",
|
|
23
|
-
showText: "Mostra",
|
|
24
|
-
};
|
|
25
|
-
this.zoomLevelOffset = -5;
|
|
26
|
-
this.subjectChangeLayer$.subscribe((theLayer) => (this.layer = theLayer));
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @param map
|
|
30
|
-
*/
|
|
31
|
-
withMap(map) {
|
|
32
|
-
this.map = map;
|
|
33
|
-
return this;
|
|
34
|
-
}
|
|
35
|
-
withToogleDisplay(toogle) {
|
|
36
|
-
this.toogle = toogle;
|
|
37
|
-
return this;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* @param autoToogleDislay
|
|
41
|
-
*/
|
|
42
|
-
withAutoToogleDisplay(autoToogleDislay) {
|
|
43
|
-
this.autoToogleDisplay = autoToogleDislay;
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @param layer
|
|
48
|
-
*/
|
|
49
|
-
withLayer(layer) {
|
|
50
|
-
this.layer = layer;
|
|
51
|
-
return this;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* @param position
|
|
55
|
-
*/
|
|
56
|
-
withPosition(position) {
|
|
57
|
-
this.position = position;
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* @param height
|
|
62
|
-
*/
|
|
63
|
-
withHeight(height) {
|
|
64
|
-
this.height = height;
|
|
65
|
-
return this;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* @param width
|
|
69
|
-
*/
|
|
70
|
-
withWidth(width) {
|
|
71
|
-
this.width = width;
|
|
72
|
-
return this;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* @param centerFixed
|
|
76
|
-
*/
|
|
77
|
-
withCenterFixed(centerFixed) {
|
|
78
|
-
this.centerFixed = centerFixed;
|
|
79
|
-
return this;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* @param collapseHeight
|
|
83
|
-
*/
|
|
84
|
-
withCollapseHeight(collapseHeight) {
|
|
85
|
-
this.collapsedHeight = collapseHeight;
|
|
86
|
-
return this;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* @param collapseWidth
|
|
90
|
-
*/
|
|
91
|
-
withCollapseWidth(collapseWidth) {
|
|
92
|
-
this.collapsedWidth = collapseWidth;
|
|
93
|
-
return this;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* @param minimized
|
|
97
|
-
*/
|
|
98
|
-
withMimimized(minimized) {
|
|
99
|
-
this.minimized = minimized;
|
|
100
|
-
return this;
|
|
101
|
-
}
|
|
102
|
-
withStrings(strings) {
|
|
103
|
-
this.strings = strings;
|
|
104
|
-
return this;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* @param zoomAnimation
|
|
108
|
-
*/
|
|
109
|
-
withZoomAnimation(zoomAnimation) {
|
|
110
|
-
this.zoomAnimation = zoomAnimation;
|
|
111
|
-
return this;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* @param zoomLevelFixed
|
|
115
|
-
*/
|
|
116
|
-
withZoomLevelFixed(zoomLevelFixed) {
|
|
117
|
-
this.zoomLevelFixed = zoomLevelFixed;
|
|
118
|
-
return this;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* @param zoomLevelOffset
|
|
122
|
-
*/
|
|
123
|
-
withZoomLevelOffset(zoomLevelOffset) {
|
|
124
|
-
this.zoomLevelOffset = zoomLevelOffset;
|
|
125
|
-
return this;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* @param theMapOptions
|
|
129
|
-
*/
|
|
130
|
-
withMapOptions(theMapOptions) {
|
|
131
|
-
this.mapOptions = theMapOptions;
|
|
132
|
-
return this;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* @param layer
|
|
136
|
-
*/
|
|
137
|
-
changeLayer(layer) {
|
|
138
|
-
this.layer = layer;
|
|
139
|
-
this._miniMap?.changeLayer(this.layer);
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
*
|
|
143
|
-
*/
|
|
144
|
-
get minimap() {
|
|
145
|
-
return this._miniMap;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
*/
|
|
149
|
-
applyMiniMapPlugin() {
|
|
150
|
-
if (this.map) {
|
|
151
|
-
this._miniMap = new MiniMap(this.layer, {
|
|
152
|
-
position: this.position,
|
|
153
|
-
width: this.width,
|
|
154
|
-
height: this.height,
|
|
155
|
-
collapsedWidth: this.collapsedWidth,
|
|
156
|
-
collapsedHeight: this.collapsedHeight,
|
|
157
|
-
zoomLevelOffset: this.zoomLevelOffset,
|
|
158
|
-
zoomLevelFixed: this.zoomLevelFixed,
|
|
159
|
-
centerFixed: this.centerFixed,
|
|
160
|
-
zoomAnimation: this.zoomAnimation,
|
|
161
|
-
toggleDisplay: this.toogle,
|
|
162
|
-
autoToggleDisplay: this.autoToogleDisplay,
|
|
163
|
-
minimized: this.minimized,
|
|
164
|
-
strings: this.strings,
|
|
165
|
-
//mapOptions: this.mapOptions
|
|
166
|
-
}).addTo(this.map);
|
|
167
|
-
this._miniMap.on("minimize", () => {
|
|
168
|
-
this.subjectMiniMapEvent$.next(false);
|
|
169
|
-
});
|
|
170
|
-
this._miniMap.on("restore", () => {
|
|
171
|
-
this.subjectMiniMapEvent$.next(true);
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletMinimapPluginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
176
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletMinimapPluginService, providedIn: "root" }); }
|
|
177
|
-
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgxLeafletMinimapPluginService, decorators: [{
|
|
179
|
-
type: Injectable,
|
|
180
|
-
args: [{
|
|
181
|
-
providedIn: "root",
|
|
182
|
-
}]
|
|
183
|
-
}], ctorParameters: () => [] });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWxlYWZsZXQtbWluaW1hcC1wbHVnaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9sZWFmbGV0L25neC1sZWFmbGV0LW1pbmltYXAtcGx1Z2luL3NyYy9saWIvbmd4LWxlYWZsZXQtbWluaW1hcC1wbHVnaW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osT0FBTyxLQUFLLENBQUMsTUFBTSxTQUFTLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxZQUFZO0FBQ1osT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUE2Ry9CLE1BQU0sT0FBTyw4QkFBOEI7SUE2QnZDO1FBMUJBLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDOUMsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUVqQyxVQUFLLEdBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUNoQyxvREFBb0QsRUFDcEQsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FDOUIsQ0FBQztRQUVNLGFBQVEsR0FBVyxhQUFhLENBQUM7UUFDakMsV0FBTSxHQUFZLElBQUksQ0FBQztRQUN2QixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDbEMsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUNyQixVQUFLLEdBQVcsR0FBRyxDQUFDO1FBQ3BCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBRTVCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUEyQztZQUN0RCxRQUFRLEVBQUUsVUFBVTtZQUNwQixRQUFRLEVBQUUsUUFBUTtTQUNyQixDQUFDO1FBR00sb0JBQWUsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUlqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUM5QixDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUM3QyxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLEdBQVE7UUFDWixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFlO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQixDQUNqQixnQkFBeUI7UUFFekIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FDUixRQUErRDtRQUUvRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsTUFBYztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsV0FBcUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsY0FBc0I7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsYUFBcUI7UUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFNBQWtCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FHWDtRQUNHLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLGFBQWtCO1FBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGNBQXNCO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQixDQUNmLGVBQXVCO1FBRXZCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxhQUFrQjtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRDtPQUNHO0lBQ0gsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO2dCQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQ3JDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQ2pDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDMUIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtnQkFDekMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLDZCQUE2QjthQUNoQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO2dCQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO2lJQWhOUSw4QkFBOEI7cUlBQTlCLDhCQUE4QixjQUYzQixNQUFNOzsyRkFFVCw4QkFBOEI7a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy9AdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gXCJsZWFmbGV0XCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbi8vQHRzLWlnbm9yZVxuaW1wb3J0IE1pbmlNYXAgZnJvbSBcImxlYWZsZXQtbWluaW1hcFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbi8qKlxuICogQGF1dGhvciBWaXRvIFNhbHZpYSAtIENOUiBJTUFBIGdlb1NESSBHcm91cFxuICogQGVtYWlsIHZpdG8uc2FsdmlhQGdtYWlsLmNvbVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICB3aXRoTWFwKG1hcDogYW55KTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxheWVyXG4gICAgICovXG4gICAgd2l0aExheWVyKGxheWVyOiBhbnkpOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gdG9vZ2xlXG4gICAgICovXG4gICAgd2l0aFRvb2dsZURpc3BsYXkodG9vZ2xlOiBib29sZWFuKTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGF1dG9Ub29nbGVEaXNsYXlcbiAgICAgKi9cbiAgICB3aXRoQXV0b1Rvb2dsZURpc3BsYXkoXG4gICAgICAgIGF1dG9Ub29nbGVEaXNsYXk6IGJvb2xlYW4sXG4gICAgKTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHBvc2l0aW9uXG4gICAgICovXG4gICAgd2l0aFBvc2l0aW9uKFxuICAgICAgICBwb3NpdGlvbjogXCJ0b3BsZWZ0XCIgfCBcInRvcHJpZ2h0XCIgfCBcImJvdHRvbWxlZnRcIiB8IFwiYm90dG9tcmlnaHRcIixcbiAgICApOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAgICovXG4gICAgd2l0aEhlaWdodChoZWlnaHQ6IG51bWJlcik6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB3aWR0aFxuICAgICAqL1xuICAgIHdpdGhXaWR0aCh3aWR0aDogbnVtYmVyKTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGNvbGxhcHNlSGVpZ2h0XG4gICAgICovXG4gICAgd2l0aENvbGxhcHNlSGVpZ2h0KGNvbGxhcHNlSGVpZ2h0OiBudW1iZXIpOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29sbGFwc2VXaWR0aFxuICAgICAqL1xuICAgIHdpdGhDb2xsYXBzZVdpZHRoKGNvbGxhcHNlV2lkdGg6IG51bWJlcik6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB6b29tTGV2ZWxPZmZzZXRcbiAgICAgKi9cbiAgICB3aXRoWm9vbUxldmVsT2Zmc2V0KFxuICAgICAgICB6b29tTGV2ZWxPZmZzZXQ6IG51bWJlcixcbiAgICApOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gem9vbUxldmVsT2Zmc2V0XG4gICAgICovXG4gICAgd2l0aFpvb21MZXZlbEZpeGVkKHpvb21MZXZlbEZpeGVkOiBudW1iZXIpOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY2VudGVyRml4ZWRcbiAgICAgKi9cbiAgICB3aXRoQ2VudGVyRml4ZWQoY2VudGVyRml4ZWQ6IG51bWJlcltdKTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHpvb21BbmltYXRpb25cbiAgICAgKi9cbiAgICB3aXRoWm9vbUFuaW1hdGlvbih6b29tQW5pbWF0aW9uOiBhbnkpOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWluaW1pemVkXG4gICAgICovXG4gICAgd2l0aE1pbWltaXplZChtaW5pbWl6ZWQ6IGJvb2xlYW4pOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RyaW5nc1xuICAgICAqL1xuICAgIHdpdGhTdHJpbmdzKHN0cmluZ3M6IHtcbiAgICAgICAgaGlkZVRleHQ6IHN0cmluZztcbiAgICAgICAgc2hvd1RleHQ6IHN0cmluZztcbiAgICB9KTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHRoZU1hcE9wdGlvbnNcbiAgICAgKi9cbiAgICB3aXRoTWFwT3B0aW9ucyh0aGVNYXBPcHRpb25zOiBhbnkpOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBhcHBseU1pbmlNYXBQbHVnaW4oKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBsYXllclxuICAgICAqL1xuICAgIGNoYW5nZUxheWVyKGxheWVyOiBhbnkpOiB2b2lkO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZVxuICAgIGltcGxlbWVudHMgSU5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZVxue1xuICAgIHN1YmplY3RNaW5pTWFwRXZlbnQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBzdWJqZWN0Q2hhbmdlTGF5ZXIkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICAgIHByaXZhdGUgbWFwOiBhbnk7XG4gICAgcHJpdmF0ZSBsYXllcjogYW55ID0gbmV3IEwuVGlsZUxheWVyKFxuICAgICAgICBcImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nXCIsXG4gICAgICAgIHsgbWluWm9vbTogMCwgbWF4Wm9vbTogMTMgfSxcbiAgICApO1xuICAgIHByaXZhdGUgX21pbmlNYXA6IGFueTtcbiAgICBwcml2YXRlIHBvc2l0aW9uOiBzdHJpbmcgPSBcImJvdHRvbXJpZ2h0XCI7XG4gICAgcHJpdmF0ZSB0b29nbGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHByaXZhdGUgYXV0b1Rvb2dsZURpc3BsYXk6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHByaXZhdGUgaGVpZ2h0OiBudW1iZXIgPSAxNTA7XG4gICAgcHJpdmF0ZSB3aWR0aDogbnVtYmVyID0gMTUwO1xuICAgIHByaXZhdGUgY29sbGFwc2VkSGVpZ2h0OiBudW1iZXIgPSAxOTtcbiAgICBwcml2YXRlIGNvbGxhcHNlZFdpZHRoOiBudW1iZXIgPSAxOTtcbiAgICBwcml2YXRlIGNlbnRlckZpeGVkOiBudW1iZXJbXTtcbiAgICBwcml2YXRlIG1pbmltaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3RyaW5nczogeyBoaWRlVGV4dDogc3RyaW5nOyBzaG93VGV4dDogc3RyaW5nIH0gPSB7XG4gICAgICAgIGhpZGVUZXh0OiBcIk5hc2NvbmRpXCIsXG4gICAgICAgIHNob3dUZXh0OiBcIk1vc3RyYVwiLFxuICAgIH07XG4gICAgcHJpdmF0ZSB6b29tQW5pbWF0aW9uOiBhbnk7XG4gICAgcHJpdmF0ZSB6b29tTGV2ZWxGaXhlZDogbnVtYmVyO1xuICAgIHByaXZhdGUgem9vbUxldmVsT2Zmc2V0OiBudW1iZXIgPSAtNTtcbiAgICBwcml2YXRlIG1hcE9wdGlvbnM6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnN1YmplY3RDaGFuZ2VMYXllciQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHRoZUxheWVyOiBhbnkpID0+ICh0aGlzLmxheWVyID0gdGhlTGF5ZXIpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICB3aXRoTWFwKG1hcDogYW55KTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5tYXAgPSBtYXA7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHdpdGhUb29nbGVEaXNwbGF5KHRvb2dsZTogYm9vbGVhbik6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMudG9vZ2xlID0gdG9vZ2xlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gYXV0b1Rvb2dsZURpc2xheVxuICAgICAqL1xuICAgIHdpdGhBdXRvVG9vZ2xlRGlzcGxheShcbiAgICAgICAgYXV0b1Rvb2dsZURpc2xheTogYm9vbGVhbixcbiAgICApOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLmF1dG9Ub29nbGVEaXNwbGF5ID0gYXV0b1Rvb2dsZURpc2xheTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxheWVyXG4gICAgICovXG4gICAgd2l0aExheWVyKGxheWVyOiBhbnkpOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLmxheWVyID0gbGF5ZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBwb3NpdGlvblxuICAgICAqL1xuICAgIHdpdGhQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb246IFwidG9wbGVmdFwiIHwgXCJ0b3ByaWdodFwiIHwgXCJib3R0b21sZWZ0XCIgfCBcImJvdHRvbXJpZ2h0XCIsXG4gICAgKTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAgICovXG4gICAgd2l0aEhlaWdodChoZWlnaHQ6IG51bWJlcik6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gd2lkdGhcbiAgICAgKi9cbiAgICB3aXRoV2lkdGgod2lkdGg6IG51bWJlcik6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMud2lkdGggPSB3aWR0aDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGNlbnRlckZpeGVkXG4gICAgICovXG4gICAgd2l0aENlbnRlckZpeGVkKGNlbnRlckZpeGVkOiBudW1iZXJbXSk6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMuY2VudGVyRml4ZWQgPSBjZW50ZXJGaXhlZDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGNvbGxhcHNlSGVpZ2h0XG4gICAgICovXG4gICAgd2l0aENvbGxhcHNlSGVpZ2h0KGNvbGxhcHNlSGVpZ2h0OiBudW1iZXIpOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLmNvbGxhcHNlZEhlaWdodCA9IGNvbGxhcHNlSGVpZ2h0O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gY29sbGFwc2VXaWR0aFxuICAgICAqL1xuICAgIHdpdGhDb2xsYXBzZVdpZHRoKGNvbGxhcHNlV2lkdGg6IG51bWJlcik6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkV2lkdGggPSBjb2xsYXBzZVdpZHRoO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbWluaW1pemVkXG4gICAgICovXG4gICAgd2l0aE1pbWltaXplZChtaW5pbWl6ZWQ6IGJvb2xlYW4pOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLm1pbmltaXplZCA9IG1pbmltaXplZDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgd2l0aFN0cmluZ3Moc3RyaW5nczoge1xuICAgICAgICBoaWRlVGV4dDogc3RyaW5nO1xuICAgICAgICBzaG93VGV4dDogc3RyaW5nO1xuICAgIH0pOiBOZ3hMZWFmbGV0TWluaW1hcFBsdWdpblNlcnZpY2Uge1xuICAgICAgICB0aGlzLnN0cmluZ3MgPSBzdHJpbmdzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gem9vbUFuaW1hdGlvblxuICAgICAqL1xuICAgIHdpdGhab29tQW5pbWF0aW9uKHpvb21BbmltYXRpb246IGFueSk6IE5neExlYWZsZXRNaW5pbWFwUGx1Z2luU2VydmljZSB7XG4gICAgICAgIHRoaXMuem9vbUFuaW1hdGlvbiA9IHpvb21BbmltYXRpb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB6b29tTGV2ZWxGaXhlZFxuICAgICAqL1xuICAgIHdpdGhab29tTGV2ZWxGaXhlZCh6b29tTGV2ZWxGaXhlZDogbnVtYmVyKTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy56b29tTGV2ZWxGaXhlZCA9IHpvb21MZXZlbEZpeGVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gem9vbUxldmVsT2Zmc2V0XG4gICAgICovXG4gICAgd2l0aFpvb21MZXZlbE9mZnNldChcbiAgICAgICAgem9vbUxldmVsT2Zmc2V0OiBudW1iZXIsXG4gICAgKTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy56b29tTGV2ZWxPZmZzZXQgPSB6b29tTGV2ZWxPZmZzZXQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB0aGVNYXBPcHRpb25zXG4gICAgICovXG4gICAgd2l0aE1hcE9wdGlvbnModGhlTWFwT3B0aW9uczogYW55KTogTmd4TGVhZmxldE1pbmltYXBQbHVnaW5TZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5tYXBPcHRpb25zID0gdGhlTWFwT3B0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxheWVyXG4gICAgICovXG4gICAgY2hhbmdlTGF5ZXIobGF5ZXI6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheWVyID0gbGF5ZXI7XG4gICAgICAgIHRoaXMuX21pbmlNYXA/LmNoYW5nZUxheWVyKHRoaXMubGF5ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICovXG4gICAgZ2V0IG1pbmltYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9taW5pTWFwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqL1xuICAgIGFwcGx5TWluaU1hcFBsdWdpbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWFwKSB7XG4gICAgICAgICAgICB0aGlzLl9taW5pTWFwID0gbmV3IE1pbmlNYXAodGhpcy5sYXllciwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXG4gICAgICAgICAgICAgICAgY29sbGFwc2VkV2lkdGg6IHRoaXMuY29sbGFwc2VkV2lkdGgsXG4gICAgICAgICAgICAgICAgY29sbGFwc2VkSGVpZ2h0OiB0aGlzLmNvbGxhcHNlZEhlaWdodCxcbiAgICAgICAgICAgICAgICB6b29tTGV2ZWxPZmZzZXQ6IHRoaXMuem9vbUxldmVsT2Zmc2V0LFxuICAgICAgICAgICAgICAgIHpvb21MZXZlbEZpeGVkOiB0aGlzLnpvb21MZXZlbEZpeGVkLFxuICAgICAgICAgICAgICAgIGNlbnRlckZpeGVkOiB0aGlzLmNlbnRlckZpeGVkLFxuICAgICAgICAgICAgICAgIHpvb21BbmltYXRpb246IHRoaXMuem9vbUFuaW1hdGlvbixcbiAgICAgICAgICAgICAgICB0b2dnbGVEaXNwbGF5OiB0aGlzLnRvb2dsZSxcbiAgICAgICAgICAgICAgICBhdXRvVG9nZ2xlRGlzcGxheTogdGhpcy5hdXRvVG9vZ2xlRGlzcGxheSxcbiAgICAgICAgICAgICAgICBtaW5pbWl6ZWQ6IHRoaXMubWluaW1pemVkLFxuICAgICAgICAgICAgICAgIHN0cmluZ3M6IHRoaXMuc3RyaW5ncyxcbiAgICAgICAgICAgICAgICAvL21hcE9wdGlvbnM6IHRoaXMubWFwT3B0aW9uc1xuICAgICAgICAgICAgfSkuYWRkVG8odGhpcy5tYXApO1xuICAgICAgICAgICAgdGhpcy5fbWluaU1hcC5vbihcIm1pbmltaXplXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YmplY3RNaW5pTWFwRXZlbnQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9taW5pTWFwLm9uKFwicmVzdG9yZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJqZWN0TWluaU1hcEV2ZW50JC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
package/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./lib/ngx-leaflet-minimap-plugin.service";
|