@artstesh/maps 4.1.8 → 4.1.9
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/dist/esm2020/map/helpers/marker-style.helper.mjs +27 -1
- package/dist/esm2020/map/helpers/polygon-style.helper.mjs +22 -1
- package/dist/esm2020/map/helpers/stringify-feature.helper.mjs +24 -21
- package/dist/esm2020/map/helpers/text-style.helper.mjs +12 -1
- package/dist/esm2020/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +24 -7
- package/dist/esm2020/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +72 -1
- package/dist/esm2020/map/map-plate/features/markers/markers.component.mjs +11 -1
- package/dist/esm2020/map/map-plate/features/polygons/polygons.component.mjs +11 -1
- package/dist/esm2020/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +15 -7
- package/dist/esm2020/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +79 -1
- package/dist/esm2020/map/map-plate/layers/feature-layer/feature-layer.component.mjs +7 -7
- package/dist/esm2020/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +37 -17
- package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.component.mjs +7 -7
- package/dist/esm2020/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +76 -1
- package/dist/esm2020/map/map-plate/map-plate.component.mjs +2 -2
- package/dist/esm2020/map/map-plate/tooltips/tooltip/tooltip.component.mjs +19 -19
- package/dist/esm2020/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +1 -1
- package/dist/esm2020/map/messages/commands/fit-to-polygons.command.mjs +1 -1
- package/dist/esm2020/map/models/map-control.mjs +2 -2
- package/dist/esm2020/map/models/marker-model.mjs +1 -1
- package/dist/esm2020/map/models/polygon.model.mjs +11 -11
- package/dist/esm2020/map/services/feature.service.mjs +6 -6
- package/dist/esm2020/map/services/map-click.service.mjs +9 -9
- package/dist/esm2020/map/services/map-feature.service.mjs +1 -1
- package/dist/esm2020/map/services/map-state.service.mjs +2 -3
- package/dist/esm2020/src/map/helpers/marker-style.helper.mjs +27 -1
- package/dist/esm2020/src/map/helpers/polygon-style.helper.mjs +22 -1
- package/dist/esm2020/src/map/helpers/stringify-feature.helper.mjs +24 -21
- package/dist/esm2020/src/map/helpers/text-style.helper.mjs +12 -1
- package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +24 -7
- package/dist/esm2020/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +72 -1
- package/dist/esm2020/src/map/map-plate/features/markers/markers.component.mjs +11 -1
- package/dist/esm2020/src/map/map-plate/features/polygons/polygons.component.mjs +11 -1
- package/dist/esm2020/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +15 -7
- package/dist/esm2020/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +79 -1
- package/dist/esm2020/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +7 -7
- package/dist/esm2020/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +37 -17
- package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +7 -7
- package/dist/esm2020/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +76 -1
- package/dist/esm2020/src/map/map-plate/map-plate.component.mjs +2 -2
- package/dist/esm2020/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +19 -19
- package/dist/esm2020/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +1 -1
- package/dist/esm2020/src/map/messages/commands/fit-to-polygons.command.mjs +1 -1
- package/dist/esm2020/src/map/models/map-control.mjs +2 -2
- package/dist/esm2020/src/map/models/marker-model.mjs +1 -1
- package/dist/esm2020/src/map/models/polygon.model.mjs +11 -11
- package/dist/esm2020/src/map/services/feature.service.mjs +6 -6
- package/dist/esm2020/src/map/services/map-click.service.mjs +9 -9
- package/dist/esm2020/src/map/services/map-feature.service.mjs +1 -1
- package/dist/esm2020/src/map/services/map-state.service.mjs +2 -3
- package/dist/fesm2015/maps-components-src-map.mjs +457 -106
- package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2015/maps-components.mjs +457 -106
- package/dist/fesm2015/maps-components.mjs.map +1 -1
- package/dist/fesm2020/maps-components-src-map.mjs +454 -103
- package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2020/maps-components.mjs +454 -103
- package/dist/fesm2020/maps-components.mjs.map +1 -1
- package/dist/map/helpers/marker-style.helper.d.ts +26 -0
- package/dist/map/helpers/polygon-style.helper.d.ts +21 -0
- package/dist/map/helpers/stringify-feature.helper.d.ts +18 -0
- package/dist/map/helpers/text-style.helper.d.ts +11 -0
- package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +20 -3
- package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +71 -0
- package/dist/map/map-plate/features/markers/markers.component.d.ts +10 -0
- package/dist/map/map-plate/features/polygons/polygons.component.d.ts +10 -0
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +10 -2
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +78 -0
- package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +2 -2
- package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +36 -16
- package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
- package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +75 -0
- package/dist/map/map-plate/map-plate.component.d.ts +2 -2
- package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +5 -5
- package/dist/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +1 -1
- package/dist/map/models/map-control.d.ts +1 -1
- package/dist/map/models/polygon.model.d.ts +2 -2
- package/dist/map/services/feature.service.d.ts +1 -1
- package/dist/map/services/map-click.service.d.ts +1 -1
- package/dist/src/map/helpers/marker-style.helper.d.ts +26 -0
- package/dist/src/map/helpers/polygon-style.helper.d.ts +21 -0
- package/dist/src/map/helpers/stringify-feature.helper.d.ts +18 -0
- package/dist/src/map/helpers/text-style.helper.d.ts +11 -0
- package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +20 -3
- package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +71 -0
- package/dist/src/map/map-plate/features/markers/markers.component.d.ts +10 -0
- package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +10 -0
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +10 -2
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +78 -0
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +2 -2
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +36 -16
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +75 -0
- package/dist/src/map/map-plate/map-plate.component.d.ts +2 -2
- package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +5 -5
- package/dist/src/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +1 -1
- package/dist/src/map/models/map-control.d.ts +1 -1
- package/dist/src/map/models/polygon.model.d.ts +2 -2
- package/dist/src/map/services/feature.service.d.ts +1 -1
- package/dist/src/map/services/map-click.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -8,22 +8,12 @@ import Overlay from 'ol/Overlay';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "../../../services/map-postboy.service";
|
|
10
10
|
export class TooltipComponent extends DestructibleComponent {
|
|
11
|
-
set settings(value) {
|
|
12
|
-
if (!value || this._settings.isSame(value))
|
|
13
|
-
return;
|
|
14
|
-
this._settings = value;
|
|
15
|
-
this.detector.detectChanges();
|
|
16
|
-
}
|
|
17
11
|
constructor(postboy, detector) {
|
|
18
12
|
super();
|
|
19
13
|
this.postboy = postboy;
|
|
20
14
|
this.detector = detector;
|
|
21
|
-
this._settings = new TooltipSettings();
|
|
22
15
|
this.show = false;
|
|
23
|
-
this.
|
|
24
|
-
!!this.overlay && this.map?.removeOverlay(this.overlay);
|
|
25
|
-
this.show = false;
|
|
26
|
-
};
|
|
16
|
+
this._settings = new TooltipSettings();
|
|
27
17
|
this.options = (coordinates) => {
|
|
28
18
|
return {
|
|
29
19
|
element: this.container?.nativeElement,
|
|
@@ -32,12 +22,29 @@ export class TooltipComponent extends DestructibleComponent {
|
|
|
32
22
|
position: coordinates,
|
|
33
23
|
};
|
|
34
24
|
};
|
|
25
|
+
this.removeOverlay = () => {
|
|
26
|
+
!!this.overlay && this.map?.removeOverlay(this.overlay);
|
|
27
|
+
this.show = false;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
set settings(value) {
|
|
31
|
+
if (!value || this._settings.isSame(value))
|
|
32
|
+
return;
|
|
33
|
+
this._settings = value;
|
|
34
|
+
this.detector.detectChanges();
|
|
35
35
|
}
|
|
36
36
|
ngOnInit() {
|
|
37
37
|
this.subs.push(this.observeMapRender());
|
|
38
38
|
this.subs.push(this.observeMapClick());
|
|
39
39
|
this.subs.push(this.observeClose());
|
|
40
40
|
}
|
|
41
|
+
addOverlay(coordinates) {
|
|
42
|
+
this.removeOverlay();
|
|
43
|
+
this.overlay = new Overlay(this.options(coordinates));
|
|
44
|
+
this.map?.addOverlay(this.overlay);
|
|
45
|
+
this.show = true;
|
|
46
|
+
this.detector.detectChanges();
|
|
47
|
+
}
|
|
41
48
|
observeMapClick() {
|
|
42
49
|
return this.postboy.subscribe(MapClickEvent.ID).subscribe((ev) => {
|
|
43
50
|
this._settings.show(ev) ? this.addOverlay(ev.coordinates) : this.removeOverlay();
|
|
@@ -54,13 +61,6 @@ export class TooltipComponent extends DestructibleComponent {
|
|
|
54
61
|
this.map = m.map;
|
|
55
62
|
});
|
|
56
63
|
}
|
|
57
|
-
addOverlay(coordinates) {
|
|
58
|
-
this.removeOverlay();
|
|
59
|
-
this.overlay = new Overlay(this.options(coordinates));
|
|
60
|
-
this.map?.addOverlay(this.overlay);
|
|
61
|
-
this.show = true;
|
|
62
|
-
this.detector.detectChanges();
|
|
63
|
-
}
|
|
64
64
|
}
|
|
65
65
|
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TooltipComponent, deps: [{ token: i1.MapPostboyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
66
|
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TooltipComponent, selector: "art-tooltip", inputs: { settings: "settings" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["tip"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
73
73
|
}], settings: [{
|
|
74
74
|
type: Input
|
|
75
75
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvdG9vbHRpcHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS90b29sdGlwcy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRXZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLE9BQXNDLE1BQU0sWUFBWSxDQUFDOzs7QUFRaEUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHFCQUFxQjtJQU16RCxZQUFvQixPQUEwQixFQUFVLFFBQTJCO1FBQ2pGLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUhuRixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBT2IsY0FBUyxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBc0JuRCxZQUFPLEdBQUcsQ0FBQyxXQUFxQixFQUFrQixFQUFFO1lBQ2xELE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYTtnQkFDdEMsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO2dCQUNqQyxRQUFRLEVBQUUsV0FBVzthQUN0QixDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBcUJNLGtCQUFhLEdBQUcsR0FBRyxFQUFFO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUM7SUF2REYsQ0FBQztJQUlELElBQWEsUUFBUSxDQUFDLEtBQWtDO1FBQ3RELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVSxDQUFDLFdBQXFCO1FBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBV08sZUFBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFnQixhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDOUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLFNBQVMsQ0FBc0IsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN4RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs4R0ExRFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsOE1DekI3QixzSUFHQTs0RkRzQmEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTt3SUFHN0IsU0FBUztzQkFBMUIsU0FBUzt1QkFBQyxLQUFLO2dCQVdILFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2x0aXBTZXR0aW5ncyB9IGZyb20gJy4vdG9vbHRpcC5zZXR0aW5ncyc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCwgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCB7IENsb3NlVG9vbHRpcENvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9jbG9zZS10b29sdGlwLmNvbW1hbmQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgT3ZlcmxheSwgeyBPcHRpb25zIGFzIE92ZXJsYXlPcHRpb25zIH0gZnJvbSAnb2wvT3ZlcmxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgndGlwJykgY29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIG92ZXJsYXk/OiBPdmVybGF5O1xuICBzaG93ID0gZmFsc2U7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsIHByaXZhdGUgZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogVG9vbHRpcFNldHRpbmdzID0gbmV3IFRvb2x0aXBTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogVG9vbHRpcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5wdXNoKHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpKTtcbiAgICB0aGlzLnN1YnMucHVzaCh0aGlzLm9ic2VydmVNYXBDbGljaygpKTtcbiAgICB0aGlzLnN1YnMucHVzaCh0aGlzLm9ic2VydmVDbG9zZSgpKTtcbiAgfVxuXG4gIGFkZE92ZXJsYXkoY29vcmRpbmF0ZXM6IG51bWJlcltdKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVPdmVybGF5KCk7XG4gICAgdGhpcy5vdmVybGF5ID0gbmV3IE92ZXJsYXkodGhpcy5vcHRpb25zKGNvb3JkaW5hdGVzKSk7XG4gICAgdGhpcy5tYXA/LmFkZE92ZXJsYXkodGhpcy5vdmVybGF5KTtcbiAgICB0aGlzLnNob3cgPSB0cnVlO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb3B0aW9ucyA9IChjb29yZGluYXRlczogbnVtYmVyW10pOiBPdmVybGF5T3B0aW9ucyA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVsZW1lbnQ6IHRoaXMuY29udGFpbmVyPy5uYXRpdmVFbGVtZW50LFxuICAgICAgYXV0b1BhbjogZmFsc2UsXG4gICAgICBhdXRvUGFuQW5pbWF0aW9uOiB7IGR1cmF0aW9uOiAwIH0sXG4gICAgICBwb3NpdGlvbjogY29vcmRpbmF0ZXMsXG4gICAgfTtcbiAgfTtcblxuICBwcml2YXRlIG9ic2VydmVNYXBDbGljaygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcENsaWNrRXZlbnQ+KE1hcENsaWNrRXZlbnQuSUQpLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgIHRoaXMuX3NldHRpbmdzLnNob3coZXYpID8gdGhpcy5hZGRPdmVybGF5KGV2LmNvb3JkaW5hdGVzKSA6IHRoaXMucmVtb3ZlT3ZlcmxheSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQ2xvc2UoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPENsb3NlVG9vbHRpcENvbW1hbmQ+KENsb3NlVG9vbHRpcENvbW1hbmQuSUQpXG4gICAgICAucGlwZShmaWx0ZXIoKGV2KSA9PiBldi50b29sdGlwSWQgPT09IHRoaXMuX3NldHRpbmdzLmlkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZW1vdmVPdmVybGF5KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHJldHVybiB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlT3ZlcmxheSA9ICgpID0+IHtcbiAgICAhIXRoaXMub3ZlcmxheSAmJiB0aGlzLm1hcD8ucmVtb3ZlT3ZlcmxheSh0aGlzLm92ZXJsYXkpO1xuICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICB9O1xufVxuIiwiPGRpdiAjdGlwIFtjbGFzc109XCJbJ3Rvb2x0aXAtd3JhcHBlcicsIF9zZXR0aW5ncy5jb250YWluZXJDbGFzc11cIiBbaGlkZGVuXT1cIiFzaG93XCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -27,4 +27,4 @@ export class TooltipSettings {
|
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS90b29sdGlwcy90b29sdGlwL3Rvb2x0aXAuc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQW1CLEVBQVc7UUFGOUIsbUJBQWMsR0FBVyxzQkFBc0IsQ0FBQztRQWFoRCxTQUFJLEdBQW1DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFWakQsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQXNCO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFJRCxPQUFPLENBQUMsSUFBb0M7UUFDMUMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUSxDQUFDLGNBQXNCO1FBQzdCLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFzQjtRQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLGNBQWM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvRCxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuXG5leHBvcnQgY2xhc3MgVG9vbHRpcFNldHRpbmdzIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIGNvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSAnY3VzdG9tLXRvb2x0aXAtY2xhc3MnO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihpZD86IHN0cmluZykge1xuICAgIHRoaXMuaWQgPSBpZCA/PyBJZEdlbmVyYXRvci5nZXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVG9vbHRpcFNldHRpbmdzKTogVG9vbHRpcFNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVG9vbHRpcFNldHRpbmdzKG1vZGVsLmlkKTtcbiAgICByZXN1bHQuc2hvdyA9IG1vZGVsLnNob3c7XG4gICAgcmVzdWx0LmNvbnRhaW5lckNsYXNzID0gbW9kZWwuY29udGFpbmVyQ2xhc3M7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNob3c6IChldjogTWFwQ2xpY2tFdmVudCkgPT4gYm9vbGVhbiA9IChlKSA9PiB0cnVlO1xuXG4gIHNldFNob3coc2hvdzogKGV2OiBNYXBDbGlja0V2ZW50KSA9PiBib29sZWFuKTogVG9vbHRpcFNldHRpbmdzIHtcbiAgICByZXR1cm4gVG9vbHRpcFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBzaG93IH0pO1xuICB9XG5cbiAgc2V0Q2xhc3MoY29udGFpbmVyQ2xhc3M6IHN0cmluZyk6IFRvb2x0aXBTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRvb2x0aXBTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgY29udGFpbmVyQ2xhc3MgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNTYW1lKG1vZGVsOiBUb29sdGlwU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaG93ICE9PSBtb2RlbC5zaG93KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29udGFpbmVyQ2xhc3MgIT09IG1vZGVsLmNvbnRhaW5lckNsYXNzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuaWQgIT09IG1vZGVsLmlkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,4 +10,4 @@ export class FitToPolygonsCommand extends PostboyGenericMessage {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
FitToPolygonsCommand.ID = 'a9e42b23-ffaf-4c46-8370-e0432cd14d60';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml0LXRvLXBvbHlnb25zLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tcG9seWdvbnMuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEscUJBQXFCO0lBRzdELFlBQW1CLFFBQXdCLEVBQVMsWUFBWSxDQUFDO1FBQy9ELEtBQUssRUFBRSxDQUFDO1FBRFMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUFJO0lBRWpFLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUNqQyxDQUFDOztBQVJzQix1QkFBRSxHQUFXLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zdGJveUdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgUG9seWdvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIEZpdFRvUG9seWdvbnNDb21tYW5kIGV4dGVuZHMgUG9zdGJveUdlbmVyaWNNZXNzYWdlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJRDogc3RyaW5nID0gJ2E5ZTQyYjIzLWZmYWYtNGM0Ni04MzcwLWUwNDMyY2QxNGQ2MCc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGZlYXR1cmVzOiBQb2x5Z29uTW9kZWxbXSwgcHVibGljIHpvb21BZnRlciA9IDApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaXRUb1BvbHlnb25zQ29tbWFuZC5JRDtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Control } from 'ol/control';
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
|
-
* A control is a visible widget with a DOM element in a fixed position on the screen. They can involve user input (buttons), or be informational only; the position is determined using CSS. By default these are placed in the container with CSS class name ol-overlaycontainer-stopevent, but can use any outside DOM element.
|
|
4
|
+
* A control is a visible widget with a DOM element in a fixed position on the screen. They can involve user input (buttons), or be informational only; the position is determined using CSS. By default, these are placed in the container with CSS class name ol-overlaycontainer-stopevent, but can use any outside DOM element.
|
|
5
5
|
* This is the base class for controls. You can use it for simple custom controls by creating the element with listeners, creating an instance:
|
|
6
6
|
* var myControl = new Control({element: myElement}); and then adding this to the map.
|
|
7
7
|
* The main advantage of having this as a control rather than a simple separate DOM element is that preventing propagation is handled for you. Controls will also be objects in a module:ol/Collection~Collection, so you can use their methods.
|
|
@@ -12,4 +12,4 @@ export class MapControl extends Control {
|
|
|
12
12
|
super(options);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tb2RlbHMvbWFwLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUdyQzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFVBQVcsU0FBUSxPQUFPO0lBQ3JDLFlBQVksT0FBZ0I7UUFDMUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2wgfSBmcm9tICdvbC9jb250cm9sJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdvbC9jb250cm9sL0NvbnRyb2wnO1xuXG4vKipcbiAqXG4gKiBBIGNvbnRyb2wgaXMgYSB2aXNpYmxlIHdpZGdldCB3aXRoIGEgRE9NIGVsZW1lbnQgaW4gYSBmaXhlZCBwb3NpdGlvbiBvbiB0aGUgc2NyZWVuLiBUaGV5IGNhbiBpbnZvbHZlIHVzZXIgaW5wdXQgKGJ1dHRvbnMpLCBvciBiZSBpbmZvcm1hdGlvbmFsIG9ubHk7IHRoZSBwb3NpdGlvbiBpcyBkZXRlcm1pbmVkIHVzaW5nIENTUy4gQnkgZGVmYXVsdCwgdGhlc2UgYXJlIHBsYWNlZCBpbiB0aGUgY29udGFpbmVyIHdpdGggQ1NTIGNsYXNzIG5hbWUgb2wtb3ZlcmxheWNvbnRhaW5lci1zdG9wZXZlbnQsIGJ1dCBjYW4gdXNlIGFueSBvdXRzaWRlIERPTSBlbGVtZW50LlxuICogVGhpcyBpcyB0aGUgYmFzZSBjbGFzcyBmb3IgY29udHJvbHMuIFlvdSBjYW4gdXNlIGl0IGZvciBzaW1wbGUgY3VzdG9tIGNvbnRyb2xzIGJ5IGNyZWF0aW5nIHRoZSBlbGVtZW50IHdpdGggbGlzdGVuZXJzLCBjcmVhdGluZyBhbiBpbnN0YW5jZTpcbiAqIHZhciBteUNvbnRyb2wgPSBuZXcgQ29udHJvbCh7ZWxlbWVudDogbXlFbGVtZW50fSk7IGFuZCB0aGVuIGFkZGluZyB0aGlzIHRvIHRoZSBtYXAuXG4gKiBUaGUgbWFpbiBhZHZhbnRhZ2Ugb2YgaGF2aW5nIHRoaXMgYXMgYSBjb250cm9sIHJhdGhlciB0aGFuIGEgc2ltcGxlIHNlcGFyYXRlIERPTSBlbGVtZW50IGlzIHRoYXQgcHJldmVudGluZyBwcm9wYWdhdGlvbiBpcyBoYW5kbGVkIGZvciB5b3UuIENvbnRyb2xzIHdpbGwgYWxzbyBiZSBvYmplY3RzIGluIGEgbW9kdWxlOm9sL0NvbGxlY3Rpb25+Q29sbGVjdGlvbiwgc28geW91IGNhbiB1c2UgdGhlaXIgbWV0aG9kcy5cbiAqIFlvdSBjYW4gYWxzbyBleHRlbmQgdGhpcyBiYXNlIGZvciB5b3VyIG93biBjb250cm9sIGNsYXNzLiBTZWUgZXhhbXBsZXMvY3VzdG9tLWNvbnRyb2xzIGZvciBhbiBleGFtcGxlIG9mIGhvdyB0byBkbyB0aGlzLlxuICovXG5leHBvcnQgY2xhc3MgTWFwQ29udHJvbCBleHRlbmRzIENvbnRyb2wge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -21,4 +21,4 @@ export class MarkerModel {
|
|
|
21
21
|
return feature;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sV0FBVztJQUd0QixZQUNrQixHQUFXLEVBQ1gsR0FBVyxFQUMzQixFQUFvQixFQUNiLElBRU47UUFMZSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUVwQixTQUFJLEdBQUosSUFBSSxDQUVWO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBSUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5LCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi9tYXAuY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyLFxuICAgIHB1YmxpYyByZWFkb25seSBsbmc6IG51bWJlcixcbiAgICBpZD86IHN0cmluZyB8IG51bWJlcixcbiAgICBwdWJsaWMgaW5mbz86IHtcbiAgICAgIFtpZDogc3RyaW5nXTogYW55O1xuICAgIH0sXG4gICkge1xuICAgIHRoaXMuaWQgPSBpZCA9PSBudWxsID8gSWRHZW5lcmF0b3IuZ2V0KCkgOiBpZDtcbiAgICB0aGlzLl9mZWF0dXJlID0gdGhpcy5nZXRGZWF0dXJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9mZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PjtcblxuICBwdWJsaWMgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZTxHZW9tZXRyeT4ge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICBjb25zdCBmZWF0dXJlID0gbmV3IEZlYXR1cmUobmV3IFBvaW50KFt0aGlzLmxuZywgdGhpcy5sYXRdKSk7XG4gICAgZmVhdHVyZS5zZXRJZCh0aGlzLmlkKTtcbiAgICBpZiAodGhpcy5pbmZvKSBmZWF0dXJlLnNldChNYXBDb25zdGFudHMuRmVhdHVyZUluZm8sIHRoaXMuaW5mbyk7XG4gICAgcmV0dXJuIGZlYXR1cmU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,16 +3,6 @@ import { GeoJSON, WKT } from 'ol/format';
|
|
|
3
3
|
import { getCenter } from 'ol/extent';
|
|
4
4
|
import { MapConstants } from './map.constants';
|
|
5
5
|
export class PolygonModel {
|
|
6
|
-
static fromGeoJson(id, json, info) {
|
|
7
|
-
let feature = new GeoJSON().readFeature(json);
|
|
8
|
-
feature.setId(id);
|
|
9
|
-
return new PolygonModel(feature, id, info);
|
|
10
|
-
}
|
|
11
|
-
static fromWKT(id, wkt, info) {
|
|
12
|
-
let feature = new WKT().readFeature(wkt);
|
|
13
|
-
feature.setId(id);
|
|
14
|
-
return new PolygonModel(feature, id, info);
|
|
15
|
-
}
|
|
16
6
|
constructor(feature, id, info) {
|
|
17
7
|
this.info = info;
|
|
18
8
|
this.id = id == null ? IdGenerator.get() : id;
|
|
@@ -24,5 +14,15 @@ export class PolygonModel {
|
|
|
24
14
|
get feature() {
|
|
25
15
|
return this._feature;
|
|
26
16
|
}
|
|
17
|
+
static fromGeoJson(id, json, info) {
|
|
18
|
+
let feature = new GeoJSON().readFeature(json);
|
|
19
|
+
feature.setId(id);
|
|
20
|
+
return new PolygonModel(feature, id, info);
|
|
21
|
+
}
|
|
22
|
+
static fromWKT(id, wkt, info) {
|
|
23
|
+
let feature = new WKT().readFeature(wkt);
|
|
24
|
+
feature.setId(id);
|
|
25
|
+
return new PolygonModel(feature, id, info);
|
|
26
|
+
}
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFvQixPQUEwQixFQUFFLEVBQW9CLEVBQVMsSUFBNEI7UUFBNUIsU0FBSSxHQUFKLElBQUksQ0FBd0I7UUFDdkcsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFJRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLElBQTRCO1FBQ3ZGLElBQUksT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQW1CLEVBQUUsR0FBVyxFQUFFLElBQTRCO1FBQ2xGLElBQUksT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vY29tbW9uL2lkLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IEdlb0pTT04sIFdLVCB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBnZXRDZW50ZXIgfSBmcm9tICdvbC9leHRlbnQnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi9tYXAuY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFBvbHlnb25Nb2RlbCB7XG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbGF0OiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBsbmc6IG51bWJlcjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBpZD86IHN0cmluZyB8IG51bWJlciwgcHVibGljIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0pIHtcbiAgICB0aGlzLmlkID0gaWQgPT0gbnVsbCA/IElkR2VuZXJhdG9yLmdldCgpIDogaWQ7XG4gICAgdGhpcy5fZmVhdHVyZSA9IGZlYXR1cmU7XG4gICAgaWYgKHRoaXMuaW5mbykgdGhpcy5fZmVhdHVyZT8uc2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbywgdGhpcy5pbmZvKTtcbiAgICBbdGhpcy5sbmcsIHRoaXMubGF0XSA9IGdldENlbnRlcih0aGlzLl9mZWF0dXJlLmdldEdlb21ldHJ5KCk/LmdldEV4dGVudCgpISk7XG4gIH1cblxuICBwcml2YXRlIF9mZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PjtcblxuICBwdWJsaWMgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZTxHZW9tZXRyeT4ge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tR2VvSnNvbihpZDogc3RyaW5nIHwgbnVtYmVyLCBqc29uOiBzdHJpbmcsIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0pOiBQb2x5Z29uTW9kZWwge1xuICAgIGxldCBmZWF0dXJlID0gbmV3IEdlb0pTT04oKS5yZWFkRmVhdHVyZShqc29uKTtcbiAgICBmZWF0dXJlLnNldElkKGlkKTtcbiAgICByZXR1cm4gbmV3IFBvbHlnb25Nb2RlbChmZWF0dXJlLCBpZCwgaW5mbyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21XS1QoaWQ6IHN0cmluZyB8IG51bWJlciwgd2t0OiBzdHJpbmcsIGluZm8/OiB7IFtpZDogc3RyaW5nXTogYW55IH0pOiBQb2x5Z29uTW9kZWwge1xuICAgIGxldCBmZWF0dXJlID0gbmV3IFdLVCgpLnJlYWRGZWF0dXJlKHdrdCk7XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG59XG4iXX0=
|
|
@@ -4,6 +4,11 @@ export class FeatureService {
|
|
|
4
4
|
static filterFeaturesInArea(query) {
|
|
5
5
|
return query.features.filter((f) => FeatureService.booleanIntersects(query.area, f.getGeometry()));
|
|
6
6
|
}
|
|
7
|
+
static calculateArea(g) {
|
|
8
|
+
if (!g)
|
|
9
|
+
return 0;
|
|
10
|
+
return Sphere.getArea(g, { projection: 'EPSG:4326' });
|
|
11
|
+
}
|
|
7
12
|
static booleanIntersects(g1, g2) {
|
|
8
13
|
if (g2.getType() === 'Point')
|
|
9
14
|
return g1.intersectsCoordinate(g2.getCoordinates());
|
|
@@ -13,10 +18,5 @@ export class FeatureService {
|
|
|
13
18
|
return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
|
|
14
19
|
return false;
|
|
15
20
|
}
|
|
16
|
-
static calculateArea(g) {
|
|
17
|
-
if (!g)
|
|
18
|
-
return 0;
|
|
19
|
-
return Sphere.getArea(g, { projection: 'EPSG:4326' });
|
|
20
|
-
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBR3BDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFVCxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBbUM7UUFDcEUsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRyxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUF1QjtRQUNqRCxJQUFJLENBQUMsQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQVksRUFBRSxFQUFZO1FBQ3pELElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBRSxFQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM3RixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUUsRUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssU0FBUztZQUFFLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFFLEVBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDcEgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaXJjbGUsIEdlb21ldHJ5LCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgKiBhcyBTcGhlcmUgZnJvbSAnb2wvc3BoZXJlJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuXG5leHBvcnQgY2xhc3MgRmVhdHVyZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIHN0YXRpYyBmaWx0ZXJGZWF0dXJlc0luQXJlYShxdWVyeTogRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvcik6IEZlYXR1cmU8R2VvbWV0cnk+W10ge1xuICAgIHJldHVybiBxdWVyeS5mZWF0dXJlcy5maWx0ZXIoKGYpID0+IEZlYXR1cmVTZXJ2aWNlLmJvb2xlYW5JbnRlcnNlY3RzKHF1ZXJ5LmFyZWEsIGYuZ2V0R2VvbWV0cnkoKSEpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlQXJlYShnOiBHZW9tZXRyeSB8IHVuZGVmaW5lZCk6IG51bWJlciB7XG4gICAgaWYgKCFnKSByZXR1cm4gMDtcbiAgICByZXR1cm4gU3BoZXJlLmdldEFyZWEoZywgeyBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGJvb2xlYW5JbnRlcnNlY3RzKGcxOiBHZW9tZXRyeSwgZzI6IEdlb21ldHJ5KTogYm9vbGVhbiB7XG4gICAgaWYgKGcyLmdldFR5cGUoKSA9PT0gJ1BvaW50JykgcmV0dXJuIGcxLmludGVyc2VjdHNDb29yZGluYXRlKChnMiBhcyBQb2ludCkuZ2V0Q29vcmRpbmF0ZXMoKSk7XG4gICAgaWYgKGcyLmdldFR5cGUoKSA9PT0gJ0NpcmNsZScpIHJldHVybiBnMS5pbnRlcnNlY3RzQ29vcmRpbmF0ZSgoZzIgYXMgQ2lyY2xlKS5nZXRDZW50ZXIoKSk7XG4gICAgaWYgKGcyLmdldFR5cGUoKSA9PT0gJ1BvbHlnb24nKSByZXR1cm4gZzEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoKGcyIGFzIFBvbHlnb24pLmdldEludGVyaW9yUG9pbnQoKS5nZXRDb29yZGluYXRlcygpKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,14 +11,6 @@ export class MapClickService {
|
|
|
11
11
|
up() {
|
|
12
12
|
this.observeMapRender();
|
|
13
13
|
}
|
|
14
|
-
observeMapRender() {
|
|
15
|
-
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
16
|
-
this.map = m.map;
|
|
17
|
-
this.map?.on('singleclick', (e) => {
|
|
18
|
-
this.postboy.fire(this.onClick(e));
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
14
|
onClick(ev) {
|
|
23
15
|
const model = new MapClickEvent(ev.coordinate, {}, {});
|
|
24
16
|
this.map?.forEachFeatureAtPixel(ev.pixel, (f, l) => {
|
|
@@ -36,6 +28,14 @@ export class MapClickService {
|
|
|
36
28
|
});
|
|
37
29
|
return model;
|
|
38
30
|
}
|
|
31
|
+
observeMapRender() {
|
|
32
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
33
|
+
this.map = m.map;
|
|
34
|
+
this.map?.on('singleclick', (e) => {
|
|
35
|
+
this.postboy.fire(this.onClick(e));
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
39
|
getFeatureCollectionWithInner(features) {
|
|
40
40
|
const result = [];
|
|
41
41
|
features?.forEach((f) => {
|
|
@@ -50,4 +50,4 @@ MapClickService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
|
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapClickService, decorators: [{
|
|
51
51
|
type: Injectable
|
|
52
52
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHdkQsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQTRCO1FBQ2xDLE1BQU0sS0FBSyxHQUFrQixJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBc0IsQ0FBQyxDQUFDO2lCQUN6RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUM7aUJBQ2hDLE9BQU8sQ0FBQyxDQUFDLEVBQXFCLEVBQUUsRUFBRTtnQkFDakMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO29CQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7b0JBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9ELEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxRQUE2QjtRQUNqRSxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUMvRCxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs2R0F6Q1UsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBGZWF0dXJlLCBNYXAsIE1hcEJyb3dzZXJFdmVudCB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwQ2xpY2tTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1hcEJyb3dzZXJFdmVudDxVSUV2ZW50Pik6IE1hcENsaWNrRXZlbnQge1xuICAgIGNvbnN0IG1vZGVsOiBNYXBDbGlja0V2ZW50ID0gbmV3IE1hcENsaWNrRXZlbnQoZXYuY29vcmRpbmF0ZSwge30sIHt9KTtcbiAgICB0aGlzLm1hcD8uZm9yRWFjaEZlYXR1cmVBdFBpeGVsKGV2LnBpeGVsLCAoZiwgbCkgPT4ge1xuICAgICAgdGhpcy5nZXRGZWF0dXJlQ29sbGVjdGlvbldpdGhJbm5lcihbZiBhcyBGZWF0dXJlPEdlb21ldHJ5Pl0pXG4gICAgICAgIC5maWx0ZXIoKGYpID0+IGYuZ2V0SWQoKSAhPSBudWxsKVxuICAgICAgICAuZm9yRWFjaCgoZnM6IEZlYXR1cmU8R2VvbWV0cnk+KSA9PiB7XG4gICAgICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICAgICAgaWYgKCFtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdKSBtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgaWYgKCFtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdKSBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgbW9kZWwuZW50aXRpZXNbbGF5ZXJOYW1lXS5wdXNoKHsgaWQ6IGZzLmdldElkKCkhLCAuLi5mcy5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KTtcbiAgICAgICAgICBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdLnB1c2goZnMpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICB0aGlzLm1hcD8ub24oJ3NpbmdsZWNsaWNrJywgKGUpID0+IHtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUodGhpcy5vbkNsaWNrKGUpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGZWF0dXJlQ29sbGVjdGlvbldpdGhJbm5lcihmZWF0dXJlczogRmVhdHVyZTxHZW9tZXRyeT5bXSk6IEZlYXR1cmU8R2VvbWV0cnk+W10ge1xuICAgIGNvbnN0IHJlc3VsdDogRmVhdHVyZTxHZW9tZXRyeT5bXSA9IFtdO1xuICAgIGZlYXR1cmVzPy5mb3JFYWNoKChmKSA9PiB7XG4gICAgICBjb25zdCBpbm5lckZlYXR1cmVzID0gZi5nZXQoJ2ZlYXR1cmVzJykgYXMgRmVhdHVyZTxHZW9tZXRyeT5bXTtcbiAgICAgIGlubmVyRmVhdHVyZXM/Lmxlbmd0aCA/IHJlc3VsdC5wdXNoKC4uLmlubmVyRmVhdHVyZXMpIDogcmVzdWx0LnB1c2goZik7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
|
@@ -49,4 +49,4 @@ MapFeatureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapFeatureService, decorators: [{
|
|
50
50
|
type: Injectable
|
|
51
51
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZlYXR1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLGtCQUFrQjtnQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQXVCLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxlQUFlLENBQ2xCLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFHLENBQUMsRUFDekMsR0FBRyxDQUFDLFNBQVMsQ0FDZCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUF1QixvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN0RixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDYixJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDO2dCQUM5QixPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLENBQ2xCLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRyxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxTQUFTLENBQ2QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFzQixFQUFFLFNBQWlCO1FBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQzdDLE1BQU0sTUFBTSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OytHQWhEVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgRml0VG9Qb2x5Z29uc0NvbW1hbmQsIE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBGaXRUb0ZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eSwgZXh0ZW5kIH0gZnJvbSAnb2wvZXh0ZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcEZlYXR1cmVTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG4gIHByaXZhdGUgZml0UG9seWdvbnNXYWl0aW5nPzogRml0VG9Qb2x5Z29uc0NvbW1hbmQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgICB0aGlzLm9ic2VydmVGaXRUb0ZlYXR1cmVzKCk7XG4gICAgdGhpcy5vYnNlcnZlRml0VG9Qb2x5Z29ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgICAgaWYgKHRoaXMuZml0UG9seWdvbnNXYWl0aW5nKSB0aGlzLnBvc3Rib3kuZmlyZSh0aGlzLmZpdFBvbHlnb25zV2FpdGluZyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGaXRUb0ZlYXR1cmVzKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8Rml0VG9GZWF0dXJlc0NvbW1hbmQ+KEZpdFRvRmVhdHVyZXNDb21tYW5kLklEKS5zdWJzY3JpYmUoKGNtZCkgPT4ge1xuICAgICAgdGhpcy5maXRUb0dlb21ldHJpZXMoXG4gICAgICAgIGNtZC5mZWF0dXJlcy5tYXAoKGYpID0+IGYuZ2V0R2VvbWV0cnkoKSEpLFxuICAgICAgICBjbWQuem9vbUFmdGVyLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZpdFRvUG9seWdvbnMoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxGaXRUb1BvbHlnb25zQ29tbWFuZD4oRml0VG9Qb2x5Z29uc0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoY21kKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSB7XG4gICAgICAgIHRoaXMuZml0UG9seWdvbnNXYWl0aW5nID0gY21kO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmZpdFBvbHlnb25zV2FpdGluZyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZml0VG9HZW9tZXRyaWVzKFxuICAgICAgICBjbWQuZmVhdHVyZXMubWFwKChmKSA9PiBmLmZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEpLFxuICAgICAgICBjbWQuem9vbUFmdGVyLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZml0VG9HZW9tZXRyaWVzKGdlb21ldHJpZXM6IEdlb21ldHJ5W10sIHpvb21BZnRlcjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCFnZW9tZXRyaWVzPy5sZW5ndGggfHwgIXRoaXMubWFwKSByZXR1cm47XG4gICAgY29uc3QgZXh0ZW50ID0gY3JlYXRlRW1wdHkoKTtcbiAgICBnZW9tZXRyaWVzLmZvckVhY2goKGcpID0+IGV4dGVuZChleHRlbnQsIGcuZ2V0RXh0ZW50KCkpKTtcbiAgICB0aGlzLm1hcC5nZXRWaWV3KCkuZml0KGV4dGVudCk7XG4gICAgdGhpcy5tYXAuZ2V0VmlldygpLnNldFpvb20odGhpcy5tYXAuZ2V0VmlldygpLmdldFpvb20oKSEgKyB6b29tQWZ0ZXIpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { MapRenderedEvent, SetMapCenterCommand } from '../messages';
|
|
3
|
-
import { MapMoveEndEvent } from '../messages';
|
|
2
|
+
import { MapMoveEndEvent, MapRenderedEvent, SetMapCenterCommand } from '../messages';
|
|
4
3
|
import { first } from 'rxjs/operators';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "./map-postboy.service";
|
|
@@ -38,4 +37,4 @@ MapStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
|
|
|
38
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapStateService, decorators: [{
|
|
39
38
|
type: Injectable
|
|
40
39
|
}], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHckYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsT0FBTzthQUNULFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBc0IsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEYsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxDQUFDLElBQUk7Z0JBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBN0JVLGVBQWU7aUhBQWYsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwTW92ZUVuZEV2ZW50LCBNYXBSZW5kZXJlZEV2ZW50LCBTZXRNYXBDZW50ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBTdGF0ZVNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcmluZygpO1xuICAgIHRoaXMub2JzZXJ2ZUNlbnRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyaW5nKCkge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICAgIHRoaXMubWFwID0gZXYubWFwO1xuICAgICAgICB0aGlzLm1hcD8ub24oJ21vdmVlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgem9vbSA9IE1hdGguZmxvb3IodGhpcy5tYXA/LmdldFZpZXcoKS5nZXRab29tKCkgfHwgLTEpO1xuICAgICAgICAgIGNvbnN0IGV4dGVudCA9IHRoaXMubWFwPy5nZXRWaWV3KCkuY2FsY3VsYXRlRXh0ZW50KCkgfHwgW107XG4gICAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IE1hcE1vdmVFbmRFdmVudCh6b29tLCBleHRlbnQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUNlbnRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFNldE1hcENlbnRlckNvbW1hbmQ+KFNldE1hcENlbnRlckNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5tYXA/LmdldFZpZXcoKS5zZXRDZW50ZXIoW2MubG5nLCBjLmxhdF0pO1xuICAgICAgaWYgKGMuem9vbSkgdGhpcy5tYXA/LmdldFZpZXcoKS5zZXRab29tKGMuem9vbSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import Style from 'ol/style/Style';
|
|
2
2
|
import { Circle, Fill, Icon, Stroke } from 'ol/style';
|
|
3
|
+
/**
|
|
4
|
+
* Helper class to create and modify marker styles.
|
|
5
|
+
*/
|
|
3
6
|
export class MarkerStyleHelper {
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new Style object from an SVG.
|
|
9
|
+
* @param {string} svg - The SVG string.
|
|
10
|
+
* @param {Array<number>} [size=[30, 30]] - The size of the icon image.
|
|
11
|
+
* @param {number} [zIndex=400] - The zIndex of the style.
|
|
12
|
+
* @returns {Style} A new Style object.
|
|
13
|
+
*/
|
|
4
14
|
static fromSvg(svg, size = [30, 30], zIndex = 400) {
|
|
5
15
|
let image = new Image();
|
|
6
16
|
image.src = 'data:image/svg+xml,' + escape(svg);
|
|
@@ -12,6 +22,15 @@ export class MarkerStyleHelper {
|
|
|
12
22
|
zIndex,
|
|
13
23
|
});
|
|
14
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns a Style object with a circle style.
|
|
27
|
+
*
|
|
28
|
+
* @param {number} radius - The radius of the circle.
|
|
29
|
+
* @param {string} fill - The fill color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
|
|
30
|
+
* @param {string} strokeColor - The stroke color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
|
|
31
|
+
* @param {number} [strokeWidth=1] - The width of the stroke. Default is 1.
|
|
32
|
+
* @returns {Style} - A Style object with a Circle image.
|
|
33
|
+
*/
|
|
15
34
|
static circle(radius, fill, strokeColor, strokeWidth = 1) {
|
|
16
35
|
return new Style({
|
|
17
36
|
image: new Circle({
|
|
@@ -21,9 +40,16 @@ export class MarkerStyleHelper {
|
|
|
21
40
|
}),
|
|
22
41
|
});
|
|
23
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Applies the given Text to the provided Style.
|
|
45
|
+
*
|
|
46
|
+
* @param {Style} style - The Style to modify.
|
|
47
|
+
* @param {Text} text - The Text to apply to the Style.
|
|
48
|
+
* @return {Style} - The modified Style with the applied Text.
|
|
49
|
+
*/
|
|
24
50
|
static withText(style, text) {
|
|
25
51
|
style.setText(text);
|
|
26
52
|
return style;
|
|
27
53
|
}
|
|
28
54
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFRLE1BQU0sVUFBVSxDQUFDO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQUF5QixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsR0FBRztRQUNoRixJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxHQUFHLEdBQUcscUJBQXFCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxLQUFLLENBQUM7WUFDZixLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUM7Z0JBQ2QsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDO1lBQ0YsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBYyxFQUFFLElBQVksRUFBRSxXQUFtQixFQUFFLFdBQVcsR0FBRyxDQUFDO1FBQ3JGLE9BQU8sSUFBSSxLQUFLLENBQUM7WUFDZixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2hCLE1BQU07Z0JBQ04sSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUMvQixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUMvRCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBWSxFQUFFLElBQVU7UUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBDaXJjbGUsIEZpbGwsIEljb24sIFN0cm9rZSwgVGV4dCB9IGZyb20gJ29sL3N0eWxlJztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgdG8gY3JlYXRlIGFuZCBtb2RpZnkgbWFya2VyIHN0eWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtlclN0eWxlSGVscGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU3R5bGUgb2JqZWN0IGZyb20gYW4gU1ZHLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ZnIC0gVGhlIFNWRyBzdHJpbmcuXG4gICAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW3NpemU9WzMwLCAzMF1dIC0gVGhlIHNpemUgb2YgdGhlIGljb24gaW1hZ2UuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbekluZGV4PTQwMF0gLSBUaGUgekluZGV4IG9mIHRoZSBzdHlsZS5cbiAgICogQHJldHVybnMge1N0eWxlfSBBIG5ldyBTdHlsZSBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Tdmcoc3ZnOiBzdHJpbmcsIHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbMzAsIDMwXSwgekluZGV4ID0gNDAwKTogU3R5bGUge1xuICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgIGltYWdlLnNyYyA9ICdkYXRhOmltYWdlL3N2Zyt4bWwsJyArIGVzY2FwZShzdmcpO1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBJY29uKHtcbiAgICAgICAgaW1nOiBpbWFnZSxcbiAgICAgICAgaW1nU2l6ZTogc2l6ZSxcbiAgICAgIH0pLFxuICAgICAgekluZGV4LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBTdHlsZSBvYmplY3Qgd2l0aCBhIGNpcmNsZSBzdHlsZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIFRoZSByYWRpdXMgb2YgdGhlIGNpcmNsZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGwgLSBUaGUgZmlsbCBjb2xvciBvZiB0aGUgY2lyY2xlLiBGb3JtYXQ6ICcjUlJHR0JCJyBvciAncmdiYShSLCBHLCBCLCBBKScuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJva2VDb2xvciAtIFRoZSBzdHJva2UgY29sb3Igb2YgdGhlIGNpcmNsZS4gRm9ybWF0OiAnI1JSR0dCQicgb3IgJ3JnYmEoUiwgRywgQiwgQSknLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0cm9rZVdpZHRoPTFdIC0gVGhlIHdpZHRoIG9mIHRoZSBzdHJva2UuIERlZmF1bHQgaXMgMS5cbiAgICogQHJldHVybnMge1N0eWxlfSAtIEEgU3R5bGUgb2JqZWN0IHdpdGggYSBDaXJjbGUgaW1hZ2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNpcmNsZShyYWRpdXM6IG51bWJlciwgZmlsbDogc3RyaW5nLCBzdHJva2VDb2xvcjogc3RyaW5nLCBzdHJva2VXaWR0aCA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBpbWFnZTogbmV3IENpcmNsZSh7XG4gICAgICAgIHJhZGl1cyxcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoeyBjb2xvcjogZmlsbCB9KSxcbiAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHsgY29sb3I6IHN0cm9rZUNvbG9yLCB3aWR0aDogc3Ryb2tlV2lkdGggfSksXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSBnaXZlbiBUZXh0IHRvIHRoZSBwcm92aWRlZCBTdHlsZS5cbiAgICpcbiAgICogQHBhcmFtIHtTdHlsZX0gc3R5bGUgLSBUaGUgU3R5bGUgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0ge1RleHR9IHRleHQgLSBUaGUgVGV4dCB0byBhcHBseSB0byB0aGUgU3R5bGUuXG4gICAqIEByZXR1cm4ge1N0eWxlfSAtIFRoZSBtb2RpZmllZCBTdHlsZSB3aXRoIHRoZSBhcHBsaWVkIFRleHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGhUZXh0KHN0eWxlOiBTdHlsZSwgdGV4dDogVGV4dCk6IFN0eWxlIHtcbiAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import Style from 'ol/style/Style';
|
|
2
2
|
import { Circle, Fill, Stroke } from 'ol/style';
|
|
3
|
+
/**
|
|
4
|
+
* A helper class for creating polygon styles.
|
|
5
|
+
* @class
|
|
6
|
+
*/
|
|
3
7
|
export class PolygonStyleHelper {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a Style object with the given fill color, stroke color, and stroke width.
|
|
10
|
+
*
|
|
11
|
+
* @param {string} fill - The fill color in hexadecimal or RGB format.
|
|
12
|
+
* @param {string} stroke - The stroke color in hexadecimal or RGB format.
|
|
13
|
+
* @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
|
|
14
|
+
* @return {Style} The created Style object.
|
|
15
|
+
*/
|
|
4
16
|
static simple(fill, stroke, strokeWidth = 1) {
|
|
5
17
|
return new Style({
|
|
6
18
|
fill: new Fill({
|
|
@@ -12,6 +24,15 @@ export class PolygonStyleHelper {
|
|
|
12
24
|
}),
|
|
13
25
|
});
|
|
14
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
|
|
29
|
+
*
|
|
30
|
+
* @param {string} fill - The color to use for the fill of the style.
|
|
31
|
+
* @param {string} stroke - The color to use for the stroke of the style.
|
|
32
|
+
* @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
|
|
33
|
+
* @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
|
|
34
|
+
* @returns {Style} - The newly created Style object.
|
|
35
|
+
*/
|
|
15
36
|
static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
|
|
16
37
|
return new Style({
|
|
17
38
|
image: new Circle({
|
|
@@ -30,4 +51,4 @@ export class PolygonStyleHelper {
|
|
|
30
51
|
});
|
|
31
52
|
}
|
|
32
53
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsY0FBc0IsQ0FBQztRQUN4RSxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQztZQUNGLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDakIsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLFdBQVc7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLE1BQWMsRUFBRSxjQUFzQixDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxNQUFNO2lCQUNkLENBQUM7Z0JBQ0YsTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQztZQUNGLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgQ2lyY2xlLCBGaWxsLCBTdHJva2UgfSBmcm9tICdvbC9zdHlsZSc7XG5cbi8qKlxuICogQSBoZWxwZXIgY2xhc3MgZm9yIGNyZWF0aW5nIHBvbHlnb24gc3R5bGVzLlxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBQb2x5Z29uU3R5bGVIZWxwZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsIGNvbG9yLCBzdHJva2UgY29sb3IsIGFuZCBzdHJva2Ugd2lkdGguXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGZpbGwgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cm9rZSAtIFRoZSBzdHJva2UgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzdHJva2VXaWR0aD0xXSAtIFRoZSB3aWR0aCBvZiB0aGUgc3Ryb2tlLiBEZWZhdWx0cyB0byAxLlxuICAgKiBAcmV0dXJuIHtTdHlsZX0gVGhlIGNyZWF0ZWQgU3R5bGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoZmlsbDogc3RyaW5nLCBzdHJva2U6IHN0cmluZywgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBmaWxsLFxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xuICAgICAgICBjb2xvcjogc3Ryb2tlLFxuICAgICAgICB3aWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsLCBzdHJva2UsIHN0cm9rZSB3aWR0aCwgYW5kIHBpbiByYWRpdXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIGZpbGwgb2YgdGhlIHN0eWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3Ryb2tlIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIHN0cm9rZSBvZiB0aGUgc3R5bGUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc3Ryb2tlV2lkdGg9MV0gLSBUaGUgd2lkdGggb2YgdGhlIHN0cm9rZS4gRGVmYXVsdHMgdG8gMS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwaW5SYWRpdXM9NV0gLSBUaGUgcmFkaXVzIG9mIHRoZSBjaXJjbGUgdXNlZCBhcyB0aGUgaW1hZ2UgZm9yIHRoZSBzdHlsZS4gRGVmYXVsdHMgdG8gNS5cbiAgICogQHJldHVybnMge1N0eWxlfSAtIFRoZSBuZXdseSBjcmVhdGVkIFN0eWxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZWRpdChmaWxsOiBzdHJpbmcsIHN0cm9rZTogc3RyaW5nLCBzdHJva2VXaWR0aDogbnVtYmVyID0gMSwgcGluUmFkaXVzID0gNSk6IFN0eWxlIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlKHtcbiAgICAgIGltYWdlOiBuZXcgQ2lyY2xlKHtcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICAgIGNvbG9yOiBzdHJva2UsXG4gICAgICAgIH0pLFxuICAgICAgICByYWRpdXM6IHBpblJhZGl1cyxcbiAgICAgIH0pLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogZmlsbCxcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6IHN0cm9rZSxcbiAgICAgICAgd2lkdGg6IHN0cm9rZVdpZHRoLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,41 +1,44 @@
|
|
|
1
1
|
import { Feature } from 'ol';
|
|
2
|
-
import { LineString } from 'ol/geom';
|
|
3
2
|
import { FeatureOutputFormat } from '../models';
|
|
4
3
|
import { GeoJSON, WKT } from 'ol/format';
|
|
5
4
|
import Polygon from 'ol/geom/Polygon';
|
|
6
5
|
import { transform } from 'ol/proj';
|
|
7
6
|
import { METERS_PER_UNIT } from 'ol/proj/epsg4326';
|
|
7
|
+
/**
|
|
8
|
+
* A helper class for converting and stringify features.
|
|
9
|
+
*/
|
|
8
10
|
export class StringifyFeatureHelper {
|
|
9
11
|
static polygon(feature, format = FeatureOutputFormat.GeoJson) {
|
|
10
12
|
return format === FeatureOutputFormat.GeoJson
|
|
11
13
|
? new GeoJSON().writeFeature(feature)
|
|
12
14
|
: new WKT().writeFeature(feature);
|
|
13
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates a polygon feature representing a circle based on a given feature with a circle geometry.
|
|
18
|
+
*
|
|
19
|
+
* @param {Feature<Geometry>} feature - The input feature with a circle geometry.
|
|
20
|
+
* @param {FeatureOutputFormat} format - The format for outputting the polygon feature. (default: FeatureOutputFormat.GeoJson)
|
|
21
|
+
*
|
|
22
|
+
* @return {string} - The string representation of the polygon feature.
|
|
23
|
+
*/
|
|
14
24
|
static circle(feature, format = FeatureOutputFormat.GeoJson) {
|
|
15
|
-
// const clone = feature.clone();
|
|
16
|
-
// clone.setGeometry(fromCircle(feature.getGeometry()! as Circle));
|
|
17
|
-
const tetemp = feature.getGeometryName();
|
|
18
25
|
const circle = feature.getGeometry();
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
...transform([ttt[0], ttt[1]], 'EPSG:4326', 'EPSG:3857'),
|
|
24
|
-
...transform([ttt[2], ttt[3]], 'EPSG:4326', 'EPSG:3857'),
|
|
26
|
+
const ext = feature.getGeometry().getExtent();
|
|
27
|
+
const coords = [
|
|
28
|
+
...transform([ext[0], ext[1]], 'EPSG:4326', 'EPSG:3857'),
|
|
29
|
+
...transform([ext[2], ext[3]], 'EPSG:4326', 'EPSG:3857'),
|
|
25
30
|
];
|
|
26
|
-
const radius = (
|
|
27
|
-
const radius2 = new LineString([circle.getCenter(), eastPoint]).getLength();
|
|
31
|
+
const radius = (coords[2] - coords[0]) / 2;
|
|
28
32
|
const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
|
|
29
|
-
// var edgeCoordinate = [circle.getCenter()[0] + radius, circle.getCenter()[1]];
|
|
30
|
-
// var wgs84Sphere = new Sphere(6378137);
|
|
31
33
|
return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
|
|
32
|
-
// const rad = circle.getRadius();
|
|
33
|
-
// const degrees = 180 / Math.PI; // radians to degrees
|
|
34
|
-
// const radians = Math.PI / 180; // degrees to radians
|
|
35
|
-
// const rlat = rad * degrees * 1000;
|
|
36
|
-
// const rlng = rad * radians;
|
|
37
|
-
// return StringifyFeatureHelper.polygon(new Feature<Geometry>(circular(circle.getCenter(),circle.getRadius() * METERS_PER_UNIT)), format);
|
|
38
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Draw a circle based on a center point and radius.
|
|
37
|
+
*
|
|
38
|
+
* @param {number[]} point - The center point coordinates in EPSG:4326 format.
|
|
39
|
+
* @param {number} radius - The radius of the circle in meters.
|
|
40
|
+
* @return {Coordinate[][]} - The coordinates of the circle boundary in EPSG:4326 format.
|
|
41
|
+
*/
|
|
39
42
|
static drawCircle(point, radius) {
|
|
40
43
|
const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
|
|
41
44
|
// const tetetemp = point;
|
|
@@ -55,4 +58,4 @@ export class StringifyFeatureHelper {
|
|
|
55
58
|
return [extp.map((e) => transform(e, 'EPSG:3857', 'EPSG:4326'))];
|
|
56
59
|
}
|
|
57
60
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvaGVscGVycy9zdHJpbmdpZnktZmVhdHVyZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBMEIsRUFBRSxTQUE4QixtQkFBbUIsQ0FBQyxPQUFPO1FBQ3pHLE9BQU8sTUFBTSxLQUFLLG1CQUFtQixDQUFDLE9BQU87WUFDM0MsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN4RyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFhLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRyxDQUFDLFNBQVMsRUFBRyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztZQUN4RCxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO1NBQ3pELENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFXLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWUsRUFBRSxNQUFjO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVELDBCQUEwQjtRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLGVBQWU7Z0JBQ3RELFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxlQUFlO2FBQ3ZELENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgQ2lyY2xlLCBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgRmVhdHVyZU91dHB1dEZvcm1hdCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCB7IENvb3JkaW5hdGUgfSBmcm9tICdvbC9jb29yZGluYXRlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgTUVURVJTX1BFUl9VTklUIH0gZnJvbSAnb2wvcHJvai9lcHNnNDMyNic7XG5cbi8qKlxuICogQSBoZWxwZXIgY2xhc3MgZm9yIGNvbnZlcnRpbmcgYW5kIHN0cmluZ2lmeSBmZWF0dXJlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIHBvbHlnb24oZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGZvcm1hdDogRmVhdHVyZU91dHB1dEZvcm1hdCA9IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uXG4gICAgICA/IG5ldyBHZW9KU09OKCkud3JpdGVGZWF0dXJlKGZlYXR1cmUpXG4gICAgICA6IG5ldyBXS1QoKS53cml0ZUZlYXR1cmUoZmVhdHVyZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBvbHlnb24gZmVhdHVyZSByZXByZXNlbnRpbmcgYSBjaXJjbGUgYmFzZWQgb24gYSBnaXZlbiBmZWF0dXJlIHdpdGggYSBjaXJjbGUgZ2VvbWV0cnkuXG4gICAqXG4gICAqIEBwYXJhbSB7RmVhdHVyZTxHZW9tZXRyeT59IGZlYXR1cmUgLSBUaGUgaW5wdXQgZmVhdHVyZSB3aXRoIGEgY2lyY2xlIGdlb21ldHJ5LlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVPdXRwdXRGb3JtYXR9IGZvcm1hdCAtIFRoZSBmb3JtYXQgZm9yIG91dHB1dHRpbmcgdGhlIHBvbHlnb24gZmVhdHVyZS4gKGRlZmF1bHQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvbilcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHBvbHlnb24gZmVhdHVyZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2lyY2xlKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBmb3JtYXQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQgPSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGNpcmNsZSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEgYXMgQ2lyY2xlO1xuICAgIGNvbnN0IGV4dCA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEuZ2V0RXh0ZW50KCkhO1xuICAgIGNvbnN0IGNvb3JkcyA9IFtcbiAgICAgIC4uLnRyYW5zZm9ybShbZXh0WzBdLCBleHRbMV1dLCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpLFxuICAgICAgLi4udHJhbnNmb3JtKFtleHRbMl0sIGV4dFszXV0sICdFUFNHOjQzMjYnLCAnRVBTRzozODU3JyksXG4gICAgXTtcbiAgICBjb25zdCByYWRpdXMgPSAoY29vcmRzWzJdIC0gY29vcmRzWzBdKSAvIDI7XG5cbiAgICBjb25zdCBwb2x5Z29uR2VvbSA9IG5ldyBQb2x5Z29uKFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIuZHJhd0NpcmNsZShjaXJjbGUuZ2V0Q2VudGVyKCksIHJhZGl1cykpO1xuICAgIHJldHVybiBTdHJpbmdpZnlGZWF0dXJlSGVscGVyLnBvbHlnb24obmV3IEZlYXR1cmU8R2VvbWV0cnk+KHBvbHlnb25HZW9tKSwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEcmF3IGEgY2lyY2xlIGJhc2VkIG9uIGEgY2VudGVyIHBvaW50IGFuZCByYWRpdXMuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50IC0gVGhlIGNlbnRlciBwb2ludCBjb29yZGluYXRlcyBpbiBFUFNHOjQzMjYgZm9ybWF0LlxuICAgKiBAcGFyYW0ge251bWJlcn0gcmFkaXVzIC0gVGhlIHJhZGl1cyBvZiB0aGUgY2lyY2xlIGluIG1ldGVycy5cbiAgICogQHJldHVybiB7Q29vcmRpbmF0ZVtdW119IC0gVGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBjaXJjbGUgYm91bmRhcnkgaW4gRVBTRzo0MzI2IGZvcm1hdC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGRyYXdDaXJjbGUocG9pbnQ6IG51bWJlcltdLCByYWRpdXM6IG51bWJlcik6IENvb3JkaW5hdGVbXVtdIHtcbiAgICBjb25zdCB0ZXRldGVtcCA9IHRyYW5zZm9ybShwb2ludCwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKTtcbiAgICAvLyBjb25zdCB0ZXRldGVtcCA9IHBvaW50O1xuICAgIGNvbnN0IHJhZGlhbnMgPSBNYXRoLlBJIC8gMTgwOyAvLyBkZWdyZWVzIHRvIHJhZGlhbnNcbiAgICBjb25zdCBkZWdyZWVzID0gMTgwIC8gTWF0aC5QSTsgLy8gcmFkaWFucyB0byBkZWdyZWVzXG4gICAgY29uc3QgZWFydGhzcmFkaXVzID0gNjM3ODEzNy4wO1xuICAgIGNvbnN0IHJsYXQgPSAocmFkaXVzIC8gZWFydGhzcmFkaXVzKSAqIGRlZ3JlZXM7XG4gICAgY29uc3QgcmxuZyA9IHJsYXQgLyBNYXRoLmNvcyh0ZXRldGVtcFsxXSAqIHJhZGlhbnMpO1xuICAgIGNvbnN0IGV4dHA6IG51bWJlcltdW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8PSAzMjsgaSsrKSB7XG4gICAgICBjb25zdCB0aGV0YSA9IE1hdGguUEkgKiAoaSAvIDE2KTtcbiAgICAgIGV4dHAucHVzaChbXG4gICAgICAgIHRldGV0ZW1wWzBdICsgcmxuZyAqIE1hdGguY29zKHRoZXRhKSAqIE1FVEVSU19QRVJfVU5JVCxcbiAgICAgICAgdGV0ZXRlbXBbMV0gKyBybGF0ICogTWF0aC5zaW4odGhldGEpICogTUVURVJTX1BFUl9VTklULFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiBbZXh0cC5tYXAoKGUpID0+IHRyYW5zZm9ybShlLCAnRVBTRzozODU3JywgJ0VQU0c6NDMyNicpKV07XG4gIH1cbn1cbiJdfQ==
|