@artstesh/maps 4.1.8 → 4.1.10
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/messages/events/map-move-end.event.mjs +3 -4
- package/dist/esm2020/map/messages/executors/get-map-position.executor.mjs +16 -0
- package/dist/esm2020/map/messages/index.mjs +2 -1
- package/dist/esm2020/map/models/index.mjs +2 -1
- package/dist/esm2020/map/models/map-control.mjs +2 -2
- package/dist/esm2020/map/models/map-position.model.mjs +2 -0
- 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 +11 -6
- package/dist/esm2020/map/services/message-registrator.service.mjs +4 -1
- 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/messages/events/map-move-end.event.mjs +3 -4
- package/dist/esm2020/src/map/messages/executors/get-map-position.executor.mjs +16 -0
- package/dist/esm2020/src/map/messages/index.mjs +2 -1
- package/dist/esm2020/src/map/models/index.mjs +2 -1
- package/dist/esm2020/src/map/models/map-control.mjs +2 -2
- package/dist/esm2020/src/map/models/map-position.model.mjs +2 -0
- 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 +11 -6
- package/dist/esm2020/src/map/services/message-registrator.service.mjs +4 -1
- package/dist/fesm2015/maps-components-src-map.mjs +486 -114
- package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2015/maps-components.mjs +486 -114
- package/dist/fesm2015/maps-components.mjs.map +1 -1
- package/dist/fesm2020/maps-components-src-map.mjs +483 -110
- package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2020/maps-components.mjs +483 -110
- 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/messages/events/map-move-end.event.d.ts +3 -3
- package/dist/map/messages/executors/get-map-position.executor.d.ts +12 -0
- package/dist/map/messages/index.d.ts +1 -0
- package/dist/map/models/index.d.ts +1 -0
- package/dist/map/models/map-control.d.ts +1 -1
- package/dist/map/models/map-position.model.d.ts +6 -0
- 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/map/services/map-state.service.d.ts +2 -0
- package/dist/map/services/message-registrator.service.d.ts +1 -0
- 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/messages/events/map-move-end.event.d.ts +3 -3
- package/dist/src/map/messages/executors/get-map-position.executor.d.ts +12 -0
- package/dist/src/map/messages/index.d.ts +1 -0
- package/dist/src/map/models/index.d.ts +1 -0
- package/dist/src/map/models/map-control.d.ts +1 -1
- package/dist/src/map/models/map-position.model.d.ts +6 -0
- 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/dist/src/map/services/map-state.service.d.ts +2 -0
- package/dist/src/map/services/message-registrator.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { Component, Injectable, ChangeDetectionStrategy, Input, ViewChild, NgMod
|
|
|
3
3
|
import * as i4 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { Feature, Collection } from 'ol';
|
|
6
|
-
import { Point
|
|
6
|
+
import { Point } from 'ol/geom';
|
|
7
7
|
import { GeoJSON, WKT } from 'ol/format';
|
|
8
8
|
import { getCenter, createEmpty, extend } from 'ol/extent';
|
|
9
9
|
import { Control, Zoom } from 'ol/control';
|
|
@@ -157,16 +157,6 @@ class MarkerModel {
|
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
class PolygonModel {
|
|
160
|
-
static fromGeoJson(id, json, info) {
|
|
161
|
-
let feature = new GeoJSON().readFeature(json);
|
|
162
|
-
feature.setId(id);
|
|
163
|
-
return new PolygonModel(feature, id, info);
|
|
164
|
-
}
|
|
165
|
-
static fromWKT(id, wkt, info) {
|
|
166
|
-
let feature = new WKT().readFeature(wkt);
|
|
167
|
-
feature.setId(id);
|
|
168
|
-
return new PolygonModel(feature, id, info);
|
|
169
|
-
}
|
|
170
160
|
constructor(feature, id, info) {
|
|
171
161
|
this.info = info;
|
|
172
162
|
this.id = id == null ? IdGenerator.get() : id;
|
|
@@ -178,6 +168,16 @@ class PolygonModel {
|
|
|
178
168
|
get feature() {
|
|
179
169
|
return this._feature;
|
|
180
170
|
}
|
|
171
|
+
static fromGeoJson(id, json, info) {
|
|
172
|
+
let feature = new GeoJSON().readFeature(json);
|
|
173
|
+
feature.setId(id);
|
|
174
|
+
return new PolygonModel(feature, id, info);
|
|
175
|
+
}
|
|
176
|
+
static fromWKT(id, wkt, info) {
|
|
177
|
+
let feature = new WKT().readFeature(wkt);
|
|
178
|
+
feature.setId(id);
|
|
179
|
+
return new PolygonModel(feature, id, info);
|
|
180
|
+
}
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
var DrawingType;
|
|
@@ -196,7 +196,7 @@ var FeatureOutputFormat;
|
|
|
196
196
|
|
|
197
197
|
/**
|
|
198
198
|
*
|
|
199
|
-
* 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.
|
|
199
|
+
* 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.
|
|
200
200
|
* This is the base class for controls. You can use it for simple custom controls by creating the element with listeners, creating an instance:
|
|
201
201
|
* var myControl = new Control({element: myElement}); and then adding this to the map.
|
|
202
202
|
* 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.
|
|
@@ -233,10 +233,9 @@ class MapClickEvent extends PostboyGenericMessage {
|
|
|
233
233
|
MapClickEvent.ID = '323df526-8d9c-49c6-83e8-6e9a1e7762f7';
|
|
234
234
|
|
|
235
235
|
class MapMoveEndEvent extends PostboyGenericMessage {
|
|
236
|
-
constructor(
|
|
236
|
+
constructor(position) {
|
|
237
237
|
super();
|
|
238
|
-
this.
|
|
239
|
-
this.extent = extent;
|
|
238
|
+
this.position = position;
|
|
240
239
|
}
|
|
241
240
|
get id() {
|
|
242
241
|
return MapMoveEndEvent.ID;
|
|
@@ -375,6 +374,21 @@ class FitToPolygonsCommand extends PostboyGenericMessage {
|
|
|
375
374
|
}
|
|
376
375
|
FitToPolygonsCommand.ID = 'a9e42b23-ffaf-4c46-8370-e0432cd14d60';
|
|
377
376
|
|
|
377
|
+
/**
|
|
378
|
+
* A message that allows to get the current state of the map.
|
|
379
|
+
* If the map's state is not defined yet, the executor would return null
|
|
380
|
+
* @returns {MapPosition | null}
|
|
381
|
+
*/
|
|
382
|
+
class GetMapPositionExecutor extends PostboyExecutor {
|
|
383
|
+
get id() {
|
|
384
|
+
return GetMapPositionExecutor.ID;
|
|
385
|
+
}
|
|
386
|
+
constructor() {
|
|
387
|
+
super();
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
GetMapPositionExecutor.ID = '52c95689-d09b-4082-ba58-9183ea96a213';
|
|
391
|
+
|
|
378
392
|
class AddLayerCommand extends PostboyGenericMessage {
|
|
379
393
|
constructor(layer) {
|
|
380
394
|
super();
|
|
@@ -491,6 +505,11 @@ class FeatureService {
|
|
|
491
505
|
static filterFeaturesInArea(query) {
|
|
492
506
|
return query.features.filter((f) => FeatureService.booleanIntersects(query.area, f.getGeometry()));
|
|
493
507
|
}
|
|
508
|
+
static calculateArea(g) {
|
|
509
|
+
if (!g)
|
|
510
|
+
return 0;
|
|
511
|
+
return Sphere.getArea(g, { projection: 'EPSG:4326' });
|
|
512
|
+
}
|
|
494
513
|
static booleanIntersects(g1, g2) {
|
|
495
514
|
if (g2.getType() === 'Point')
|
|
496
515
|
return g1.intersectsCoordinate(g2.getCoordinates());
|
|
@@ -500,11 +519,6 @@ class FeatureService {
|
|
|
500
519
|
return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
|
|
501
520
|
return false;
|
|
502
521
|
}
|
|
503
|
-
static calculateArea(g) {
|
|
504
|
-
if (!g)
|
|
505
|
-
return 0;
|
|
506
|
-
return Sphere.getArea(g, { projection: 'EPSG:4326' });
|
|
507
|
-
}
|
|
508
522
|
}
|
|
509
523
|
|
|
510
524
|
class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
|
|
@@ -674,6 +688,14 @@ class MapStateService {
|
|
|
674
688
|
this.observeMapRendering();
|
|
675
689
|
this.observeCenter();
|
|
676
690
|
}
|
|
691
|
+
getMapPosition() {
|
|
692
|
+
if (!this.map)
|
|
693
|
+
return null;
|
|
694
|
+
let [longitude, latitude] = this.map.getView().getCenter();
|
|
695
|
+
const zoom = Math.floor(this.map.getView().getZoom());
|
|
696
|
+
const extent = this.map.getView().calculateExtent();
|
|
697
|
+
return { longitude, latitude, zoom, extent };
|
|
698
|
+
}
|
|
677
699
|
observeMapRendering() {
|
|
678
700
|
this.postboy
|
|
679
701
|
.subscribe(MapRenderedEvent.ID)
|
|
@@ -681,9 +703,7 @@ class MapStateService {
|
|
|
681
703
|
.subscribe((ev) => {
|
|
682
704
|
this.map = ev.map;
|
|
683
705
|
this.map?.on('moveend', () => {
|
|
684
|
-
|
|
685
|
-
const extent = this.map?.getView().calculateExtent() || [];
|
|
686
|
-
this.postboy.fire(new MapMoveEndEvent(zoom, extent));
|
|
706
|
+
this.postboy.fire(new MapMoveEndEvent(this.getMapPosition()));
|
|
687
707
|
});
|
|
688
708
|
});
|
|
689
709
|
}
|
|
@@ -754,14 +774,6 @@ class MapClickService {
|
|
|
754
774
|
up() {
|
|
755
775
|
this.observeMapRender();
|
|
756
776
|
}
|
|
757
|
-
observeMapRender() {
|
|
758
|
-
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
759
|
-
this.map = m.map;
|
|
760
|
-
this.map?.on('singleclick', (e) => {
|
|
761
|
-
this.postboy.fire(this.onClick(e));
|
|
762
|
-
});
|
|
763
|
-
});
|
|
764
|
-
}
|
|
765
777
|
onClick(ev) {
|
|
766
778
|
const model = new MapClickEvent(ev.coordinate, {}, {});
|
|
767
779
|
this.map?.forEachFeatureAtPixel(ev.pixel, (f, l) => {
|
|
@@ -779,6 +791,14 @@ class MapClickService {
|
|
|
779
791
|
});
|
|
780
792
|
return model;
|
|
781
793
|
}
|
|
794
|
+
observeMapRender() {
|
|
795
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
796
|
+
this.map = m.map;
|
|
797
|
+
this.map?.on('singleclick', (e) => {
|
|
798
|
+
this.postboy.fire(this.onClick(e));
|
|
799
|
+
});
|
|
800
|
+
});
|
|
801
|
+
}
|
|
782
802
|
getFeatureCollectionWithInner(features) {
|
|
783
803
|
const result = [];
|
|
784
804
|
features?.forEach((f) => {
|
|
@@ -996,6 +1016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
996
1016
|
class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
997
1017
|
constructor(service, management, state, mapFeature, interaction, drawing, featureModification, controls) {
|
|
998
1018
|
super(service);
|
|
1019
|
+
this.state = state;
|
|
999
1020
|
this.registerServices([management, state, interaction, mapFeature, drawing, featureModification, controls]);
|
|
1000
1021
|
}
|
|
1001
1022
|
_up() {
|
|
@@ -1028,6 +1049,7 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
|
|
|
1028
1049
|
this.registerExecutor(CalculateAreaExecutor.ID, (e) => FeatureService.calculateArea(e.polygon?.feature?.getGeometry()));
|
|
1029
1050
|
this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
|
|
1030
1051
|
this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
|
|
1052
|
+
this.registerExecutor(GetMapPositionExecutor.ID, () => this.state.getMapPosition());
|
|
1031
1053
|
}
|
|
1032
1054
|
}
|
|
1033
1055
|
MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }, { token: ControlsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -1036,14 +1058,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1036
1058
|
type: Injectable
|
|
1037
1059
|
}], ctorParameters: function () { return [{ type: MapPostboyService }, { type: MapManagementService }, { type: MapStateService }, { type: MapFeatureService }, { type: MapClickService }, { type: DrawingService }, { type: FeatureModificationService }, { type: ControlsService }]; } });
|
|
1038
1060
|
|
|
1061
|
+
/**
|
|
1062
|
+
* Class representing settings for a tile layer.
|
|
1063
|
+
*/
|
|
1039
1064
|
class TileLayerSettings {
|
|
1040
1065
|
constructor() {
|
|
1066
|
+
/**
|
|
1067
|
+
* The maximum zoom level for a map view.
|
|
1068
|
+
*
|
|
1069
|
+
* @type {number}
|
|
1070
|
+
* @default 19
|
|
1071
|
+
*/
|
|
1041
1072
|
this.maxZoom = 19;
|
|
1073
|
+
/**
|
|
1074
|
+
* The minimum zoom level allowed.
|
|
1075
|
+
*
|
|
1076
|
+
* @type {number}
|
|
1077
|
+
*/
|
|
1042
1078
|
this.minZoom = 0;
|
|
1079
|
+
/**
|
|
1080
|
+
* The opacity of an element.
|
|
1081
|
+
*
|
|
1082
|
+
* @type {number}
|
|
1083
|
+
* @default 0.6
|
|
1084
|
+
*/
|
|
1043
1085
|
this.opacity = 0.6;
|
|
1086
|
+
/**
|
|
1087
|
+
* Represents the tiles URL.
|
|
1088
|
+
* @typedef {string} url
|
|
1089
|
+
*
|
|
1090
|
+
* @example
|
|
1091
|
+
* 'https://example.ex/{z}/{x}/{y}.png'
|
|
1092
|
+
*/
|
|
1044
1093
|
this.url = '';
|
|
1094
|
+
/**
|
|
1095
|
+
* The projection of the coordinate system.
|
|
1096
|
+
*
|
|
1097
|
+
* @type {string}
|
|
1098
|
+
* @default 'EPSG:3857'
|
|
1099
|
+
*/
|
|
1045
1100
|
this.projection = 'EPSG:3857';
|
|
1046
1101
|
}
|
|
1102
|
+
/**
|
|
1103
|
+
* Creates a copy of the given tile layer settings.
|
|
1104
|
+
*
|
|
1105
|
+
* @param {TileLayerSettings} model - The tile layer settings to be copied.
|
|
1106
|
+
* @return {TileLayerSettings} - A new instance of TileLayerSettings with the same properties as the model.
|
|
1107
|
+
*/
|
|
1047
1108
|
static copy(model) {
|
|
1048
1109
|
const result = new TileLayerSettings();
|
|
1049
1110
|
result.maxZoom = model.maxZoom;
|
|
@@ -1053,21 +1114,57 @@ class TileLayerSettings {
|
|
|
1053
1114
|
result.url = model.url;
|
|
1054
1115
|
return result;
|
|
1055
1116
|
}
|
|
1117
|
+
/**
|
|
1118
|
+
* Sets the URL of the TileLayerSettings object.
|
|
1119
|
+
*
|
|
1120
|
+
* @param {string} url - The URL to be set.
|
|
1121
|
+
* @return {TileLayerSettings} - The updated TileLayerSettings object.
|
|
1122
|
+
*/
|
|
1056
1123
|
setUrl(url) {
|
|
1057
1124
|
return TileLayerSettings.copy({ ...this, url });
|
|
1058
1125
|
}
|
|
1126
|
+
/**
|
|
1127
|
+
* Sets the maximum zoom level for the tile layer.
|
|
1128
|
+
*
|
|
1129
|
+
* @param {number} maxZoom - The maximum zoom level.
|
|
1130
|
+
* @returns {TileLayerSettings} - The updated tile layer settings object.
|
|
1131
|
+
*/
|
|
1059
1132
|
setMaxZoom(maxZoom) {
|
|
1060
1133
|
return TileLayerSettings.copy({ ...this, maxZoom });
|
|
1061
1134
|
}
|
|
1135
|
+
/**
|
|
1136
|
+
* Sets the minimum zoom level for the Tile Layer.
|
|
1137
|
+
*
|
|
1138
|
+
* @param {number} minZoom - The minimum zoom level to be set.
|
|
1139
|
+
* @return {TileLayerSettings} The modified TileLayerSettings object with the updated minimum zoom level.
|
|
1140
|
+
*/
|
|
1062
1141
|
setMinZoom(minZoom) {
|
|
1063
1142
|
return TileLayerSettings.copy({ ...this, minZoom });
|
|
1064
1143
|
}
|
|
1144
|
+
/**
|
|
1145
|
+
* Sets the opacity of the TileLayerSettings.
|
|
1146
|
+
*
|
|
1147
|
+
* @param {number} opacity - The opacity value to set. Must be a number between 0 and 1.
|
|
1148
|
+
* @return {TileLayerSettings} - A new instance of TileLayerSettings with the opacity set.
|
|
1149
|
+
*/
|
|
1065
1150
|
setOpacity(opacity) {
|
|
1066
1151
|
return TileLayerSettings.copy({ ...this, opacity });
|
|
1067
1152
|
}
|
|
1153
|
+
/**
|
|
1154
|
+
* Sets the projection for the tile layer settings.
|
|
1155
|
+
*
|
|
1156
|
+
* @param {string} projection - The desired projection for the tile layer settings.
|
|
1157
|
+
* @return {TileLayerSettings} - The updated tile layer settings with the new projection.
|
|
1158
|
+
*/
|
|
1068
1159
|
setProjection(projection) {
|
|
1069
1160
|
return TileLayerSettings.copy({ ...this, projection });
|
|
1070
1161
|
}
|
|
1162
|
+
/**
|
|
1163
|
+
* Checks if the current instance of TileLayerSettings is equal to the given model.
|
|
1164
|
+
* @param {TileLayerSettings} model - The model to compare against.
|
|
1165
|
+
* @return {boolean} - True if all properties of the current instance matches the properties of the model;
|
|
1166
|
+
* otherwise, false.
|
|
1167
|
+
*/
|
|
1071
1168
|
isSame(model) {
|
|
1072
1169
|
if (this.maxZoom !== model.maxZoom)
|
|
1073
1170
|
return false;
|
|
@@ -1136,18 +1233,18 @@ class TileLayerComponent extends DestructibleComponent {
|
|
|
1136
1233
|
this._settings = new TileLayerSettings();
|
|
1137
1234
|
this.onDestroy = () => this.removeLayer();
|
|
1138
1235
|
}
|
|
1139
|
-
ngOnInit() {
|
|
1140
|
-
this.postboy
|
|
1141
|
-
.subscribe(MapRenderedEvent.ID)
|
|
1142
|
-
.pipe(filter((m) => !!m), first())
|
|
1143
|
-
.subscribe((m) => this.initLayer());
|
|
1144
|
-
}
|
|
1145
1236
|
set settings(value) {
|
|
1146
1237
|
if (!value || this._settings.isSame(value))
|
|
1147
1238
|
return;
|
|
1148
1239
|
this._settings = value;
|
|
1149
1240
|
this.initLayer();
|
|
1150
1241
|
}
|
|
1242
|
+
ngOnInit() {
|
|
1243
|
+
this.postboy
|
|
1244
|
+
.subscribe(MapRenderedEvent.ID)
|
|
1245
|
+
.pipe(filter((m) => !!m), first())
|
|
1246
|
+
.subscribe((m) => this.initLayer());
|
|
1247
|
+
}
|
|
1151
1248
|
initLayer() {
|
|
1152
1249
|
this.removeLayer();
|
|
1153
1250
|
this.layer = this.factory.build(this._settings);
|
|
@@ -1231,17 +1328,24 @@ class FeatureLayerSettings {
|
|
|
1231
1328
|
*/
|
|
1232
1329
|
this.zIndex = 1;
|
|
1233
1330
|
/**
|
|
1234
|
-
|
|
1331
|
+
The maximum view zoom level (inclusive) at which this layer will be visible.
|
|
1332
|
+
|
|
1333
|
+
@type {number}
|
|
1334
|
+
@default 19
|
|
1235
1335
|
*/
|
|
1236
1336
|
this.maxZoom = 19;
|
|
1237
1337
|
/**
|
|
1238
|
-
|
|
1338
|
+
The minimum view zoom level (exclusive) at which this layer will be visible.
|
|
1339
|
+
|
|
1340
|
+
@type {number}
|
|
1239
1341
|
*/
|
|
1240
1342
|
this.minZoom = 0;
|
|
1241
1343
|
}
|
|
1242
1344
|
/**
|
|
1243
|
-
*
|
|
1244
|
-
*
|
|
1345
|
+
* Copies the given FeatureLayerSettings object
|
|
1346
|
+
*
|
|
1347
|
+
* @param {FeatureLayerSettings} model - The FeatureLayerSettings object to be copied
|
|
1348
|
+
* @returns {FeatureLayerSettings} - A copy of the FeatureLayerSettings object
|
|
1245
1349
|
*/
|
|
1246
1350
|
static copy(model) {
|
|
1247
1351
|
const result = new FeatureLayerSettings();
|
|
@@ -1253,43 +1357,56 @@ class FeatureLayerSettings {
|
|
|
1253
1357
|
return result;
|
|
1254
1358
|
}
|
|
1255
1359
|
/**
|
|
1256
|
-
|
|
1257
|
-
*
|
|
1360
|
+
* Sets the z-index value for the FeatureLayerSettings object.
|
|
1361
|
+
*
|
|
1362
|
+
* @param {number} zIndex - The new z-index value.
|
|
1363
|
+
* @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
|
|
1258
1364
|
*/
|
|
1259
1365
|
setZIndex(zIndex) {
|
|
1260
1366
|
return FeatureLayerSettings.copy({ ...this, zIndex });
|
|
1261
1367
|
}
|
|
1262
1368
|
/**
|
|
1263
|
-
*
|
|
1264
|
-
*
|
|
1369
|
+
* Sets the name of the FeatureLayerSettings.
|
|
1370
|
+
*
|
|
1371
|
+
* @param {string} name - The name to set for the FeatureLayerSettings.
|
|
1372
|
+
*
|
|
1373
|
+
* @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new name.
|
|
1265
1374
|
*/
|
|
1266
1375
|
setName(name) {
|
|
1267
1376
|
return FeatureLayerSettings.copy({ ...this, name });
|
|
1268
1377
|
}
|
|
1269
1378
|
/**
|
|
1270
|
-
*
|
|
1271
|
-
*
|
|
1379
|
+
* Sets the maximum zoom level for the FeatureLayerSettings.
|
|
1380
|
+
*
|
|
1381
|
+
* @param {number} maxZoom - The maximum zoom level.
|
|
1382
|
+
* @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
|
|
1272
1383
|
*/
|
|
1273
1384
|
setMaxZoom(maxZoom) {
|
|
1274
1385
|
return FeatureLayerSettings.copy({ ...this, maxZoom });
|
|
1275
1386
|
}
|
|
1276
1387
|
/**
|
|
1277
|
-
*
|
|
1278
|
-
*
|
|
1388
|
+
* Sets the minimum zoom level for the feature layer.
|
|
1389
|
+
*
|
|
1390
|
+
* @param {number} minZoom The minimum zoom level to be set.
|
|
1391
|
+
* @returns {FeatureLayerSettings} The updated feature layer settings object.
|
|
1279
1392
|
*/
|
|
1280
1393
|
setMinZoom(minZoom) {
|
|
1281
1394
|
return FeatureLayerSettings.copy({ ...this, minZoom });
|
|
1282
1395
|
}
|
|
1283
1396
|
/**
|
|
1284
|
-
*
|
|
1285
|
-
*
|
|
1397
|
+
* Sets the style for the FeatureLayerSettings object.
|
|
1398
|
+
*
|
|
1399
|
+
* @param {Style | StyleFunction} style - The new style to set. It can be either a Style object or a StyleFunction.
|
|
1400
|
+
* @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new style.
|
|
1286
1401
|
*/
|
|
1287
1402
|
setStyle(style) {
|
|
1288
1403
|
return FeatureLayerSettings.copy({ ...this, style });
|
|
1289
1404
|
}
|
|
1290
1405
|
/**
|
|
1291
|
-
* Checks if the
|
|
1292
|
-
*
|
|
1406
|
+
* Checks if the given FeatureLayerSettings object is identical to the current object.
|
|
1407
|
+
*
|
|
1408
|
+
* @param {FeatureLayerSettings} model - The FeatureLayerSettings object to compare with.
|
|
1409
|
+
* @return {boolean} - Returns true if the given object is identical to the current object, otherwise false.
|
|
1293
1410
|
*/
|
|
1294
1411
|
isSame(model) {
|
|
1295
1412
|
if (this.maxZoom !== model.maxZoom)
|
|
@@ -1339,18 +1456,18 @@ class FeatureLayerComponent extends DestructibleComponent {
|
|
|
1339
1456
|
this._settings = new FeatureLayerSettings();
|
|
1340
1457
|
this.onDestroy = () => this.removeLayer();
|
|
1341
1458
|
}
|
|
1342
|
-
ngOnInit() {
|
|
1343
|
-
this.postboy
|
|
1344
|
-
.subscribe(MapRenderedEvent.ID)
|
|
1345
|
-
.pipe(filter((m) => !!m), first())
|
|
1346
|
-
.subscribe((m) => this.initLayer());
|
|
1347
|
-
}
|
|
1348
1459
|
set settings(value) {
|
|
1349
1460
|
if (!value || this._settings.isSame(value))
|
|
1350
1461
|
return;
|
|
1351
1462
|
this._settings = value;
|
|
1352
1463
|
this.initLayer();
|
|
1353
1464
|
}
|
|
1465
|
+
ngOnInit() {
|
|
1466
|
+
this.postboy
|
|
1467
|
+
.subscribe(MapRenderedEvent.ID)
|
|
1468
|
+
.pipe(filter((m) => !!m), first())
|
|
1469
|
+
.subscribe((m) => this.initLayer());
|
|
1470
|
+
}
|
|
1354
1471
|
initLayer() {
|
|
1355
1472
|
this.removeLayer();
|
|
1356
1473
|
this.layer = this.factory.build(this._settings);
|
|
@@ -1374,12 +1491,34 @@ class ClusterLayerSettings {
|
|
|
1374
1491
|
constructor() {
|
|
1375
1492
|
this.name = IdGenerator.get();
|
|
1376
1493
|
this.zIndex = 1;
|
|
1494
|
+
/**
|
|
1495
|
+
* The maximum view zoom level (inclusive) at which this layer will be visible.
|
|
1496
|
+
*
|
|
1497
|
+
* @type {number}
|
|
1498
|
+
* @default 19
|
|
1499
|
+
*/
|
|
1377
1500
|
this.maxZoom = 19;
|
|
1501
|
+
/**
|
|
1502
|
+
* The minimum view zoom level (exclusive) at which this layer will be visible.
|
|
1503
|
+
*
|
|
1504
|
+
* @type {number}
|
|
1505
|
+
*/
|
|
1378
1506
|
this.minZoom = 0;
|
|
1507
|
+
/**
|
|
1508
|
+
* Distance in pixels within which features will be clustered together.
|
|
1509
|
+
*
|
|
1510
|
+
* @type {number}
|
|
1511
|
+
*/
|
|
1379
1512
|
this.distance = 20;
|
|
1380
1513
|
this.bbox = false;
|
|
1381
1514
|
this.clusterCancel = 14;
|
|
1382
1515
|
}
|
|
1516
|
+
/**
|
|
1517
|
+
* Creates a copy of the given ClusterLayerSettings object.
|
|
1518
|
+
*
|
|
1519
|
+
* @param {ClusterLayerSettings} model - The ClusterLayerSettings object to be copied.
|
|
1520
|
+
* @returns {ClusterLayerSettings} - A new ClusterLayerSettings object that is a copy of the original object.
|
|
1521
|
+
*/
|
|
1383
1522
|
static copy(model) {
|
|
1384
1523
|
const result = new ClusterLayerSettings();
|
|
1385
1524
|
result.name = model.name;
|
|
@@ -1392,30 +1531,86 @@ class ClusterLayerSettings {
|
|
|
1392
1531
|
result.style = model.style;
|
|
1393
1532
|
return result;
|
|
1394
1533
|
}
|
|
1534
|
+
/**
|
|
1535
|
+
* Set the z-index for the ClusterLayer.
|
|
1536
|
+
*
|
|
1537
|
+
* @param {number} zIndex - The new z-index for the ClusterLayer.
|
|
1538
|
+
* @return {ClusterLayerSettings} - The updated ClusterLayerSettings object.
|
|
1539
|
+
*/
|
|
1395
1540
|
setZIndex(zIndex) {
|
|
1396
1541
|
return ClusterLayerSettings.copy({ ...this, zIndex });
|
|
1397
1542
|
}
|
|
1543
|
+
/**
|
|
1544
|
+
* Sets the distance value for ClusterLayerSettings.
|
|
1545
|
+
*
|
|
1546
|
+
* @param {number} distance - The distance value to be set.
|
|
1547
|
+
* @return {ClusterLayerSettings} - The modified ClusterLayerSettings object.
|
|
1548
|
+
*/
|
|
1398
1549
|
setDistance(distance) {
|
|
1399
1550
|
return ClusterLayerSettings.copy({ ...this, distance });
|
|
1400
1551
|
}
|
|
1552
|
+
/**
|
|
1553
|
+
* Sets the name of the ClusterLayerSettings object.
|
|
1554
|
+
*
|
|
1555
|
+
* @param {string} name - The name to set for the ClusterLayerSettings.
|
|
1556
|
+
* @return {ClusterLayerSettings} - A new ClusterLayerSettings object with the updated name.
|
|
1557
|
+
*/
|
|
1401
1558
|
setName(name) {
|
|
1402
1559
|
return ClusterLayerSettings.copy({ ...this, name });
|
|
1403
1560
|
}
|
|
1561
|
+
/**
|
|
1562
|
+
* Sets the maximum zoom level for the Cluster Layer.
|
|
1563
|
+
*
|
|
1564
|
+
* @param {number} maxZoom - The maximum zoom level to be set.
|
|
1565
|
+
* @return {ClusterLayerSettings} - The updated ClusterLayerSettings object.
|
|
1566
|
+
*/
|
|
1404
1567
|
setMaxZoom(maxZoom) {
|
|
1405
1568
|
return ClusterLayerSettings.copy({ ...this, maxZoom });
|
|
1406
1569
|
}
|
|
1570
|
+
/**
|
|
1571
|
+
* Sets the minimum zoom level for the ClusterLayerSettings.
|
|
1572
|
+
*
|
|
1573
|
+
* @param {number} minZoom - The minimum zoom level to set.
|
|
1574
|
+
* @return {ClusterLayerSettings} - The updated ClusterLayerSettings object.
|
|
1575
|
+
*/
|
|
1407
1576
|
setMinZoom(minZoom) {
|
|
1408
1577
|
return ClusterLayerSettings.copy({ ...this, minZoom });
|
|
1409
1578
|
}
|
|
1579
|
+
/**
|
|
1580
|
+
* Sets the cluster cancel number for the ClusterLayerSettings.
|
|
1581
|
+
*
|
|
1582
|
+
* @param {number} clusterCancel - The new cluster cancel number.
|
|
1583
|
+
* @returns {ClusterLayerSettings} - The updated ClusterLayerSettings object.
|
|
1584
|
+
*/
|
|
1410
1585
|
setClusterCancel(clusterCancel) {
|
|
1411
1586
|
return ClusterLayerSettings.copy({ ...this, clusterCancel });
|
|
1412
1587
|
}
|
|
1588
|
+
/**
|
|
1589
|
+
* Sets the value of 'bbox' property in the ClusterLayerSettings object.
|
|
1590
|
+
*
|
|
1591
|
+
* @param {boolean} bbox - A boolean value indicating whether to include bounding box calculation in the cluster layer settings.
|
|
1592
|
+
* @returns {ClusterLayerSettings} - The updated ClusterLayerSettings object with the newly set 'bbox' value.
|
|
1593
|
+
*/
|
|
1413
1594
|
setBbox(bbox) {
|
|
1414
1595
|
return ClusterLayerSettings.copy({ ...this, bbox });
|
|
1415
1596
|
}
|
|
1597
|
+
/**
|
|
1598
|
+
* Sets the style for the ClusterLayerSettings.
|
|
1599
|
+
*
|
|
1600
|
+
* @param {function} style - A function that takes an array of identified features as input and returns a Style or StyleFunction.
|
|
1601
|
+
*
|
|
1602
|
+
* @return {ClusterLayerSettings} - The updated ClusterLayerSettings object with the new style applied.
|
|
1603
|
+
*/
|
|
1416
1604
|
setStyle(style) {
|
|
1417
1605
|
return ClusterLayerSettings.copy({ ...this, style });
|
|
1418
1606
|
}
|
|
1607
|
+
/**
|
|
1608
|
+
* Checks if the current ClusterLayerSettings object is the same as the specified model.
|
|
1609
|
+
*
|
|
1610
|
+
* @param {ClusterLayerSettings} model - The model to compare with the current object.
|
|
1611
|
+
*
|
|
1612
|
+
* @return {boolean} - Returns true if the current ClusterLayerSettings object is the same as the specified model, otherwise false.
|
|
1613
|
+
*/
|
|
1419
1614
|
isSame(model) {
|
|
1420
1615
|
if (this.maxZoom !== model.maxZoom)
|
|
1421
1616
|
return false;
|
|
@@ -1517,6 +1712,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1517
1712
|
}]
|
|
1518
1713
|
}] });
|
|
1519
1714
|
|
|
1715
|
+
/**
|
|
1716
|
+
* Represents a cluster layer component.
|
|
1717
|
+
*/
|
|
1520
1718
|
class ClusterLayerComponent extends DestructibleComponent {
|
|
1521
1719
|
constructor(postboy, factory) {
|
|
1522
1720
|
super();
|
|
@@ -1526,18 +1724,23 @@ class ClusterLayerComponent extends DestructibleComponent {
|
|
|
1526
1724
|
this._settings = new ClusterLayerSettings();
|
|
1527
1725
|
this.onDestroy = () => this.removeLayer();
|
|
1528
1726
|
}
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
}
|
|
1727
|
+
/**
|
|
1728
|
+
* Sets the settings for the cluster layer.
|
|
1729
|
+
*
|
|
1730
|
+
* @param {ClusterLayerSettings | undefined} value - The settings for the cluster layer.
|
|
1731
|
+
*/
|
|
1535
1732
|
set settings(value) {
|
|
1536
1733
|
if (!value || this._settings.isSame(value))
|
|
1537
1734
|
return;
|
|
1538
1735
|
this._settings = value;
|
|
1539
1736
|
this.initLayer();
|
|
1540
1737
|
}
|
|
1738
|
+
ngOnInit() {
|
|
1739
|
+
this.postboy
|
|
1740
|
+
.subscribe(MapRenderedEvent.ID)
|
|
1741
|
+
.pipe(filter((m) => !!m), first())
|
|
1742
|
+
.subscribe((m) => this.initLayer());
|
|
1743
|
+
}
|
|
1541
1744
|
initLayer() {
|
|
1542
1745
|
this.removeLayer();
|
|
1543
1746
|
this.manager = this.factory.build(this._settings, this.postboy);
|
|
@@ -1589,8 +1792,8 @@ class MapPlateComponent extends DestructibleComponent {
|
|
|
1589
1792
|
this.registrator = registrator;
|
|
1590
1793
|
this.detector = detector;
|
|
1591
1794
|
this.osmUrl = '';
|
|
1592
|
-
this._settings = new MapSettings();
|
|
1593
1795
|
this.drawingLayerSettings = new FeatureLayerSettings().setName(MapConstants.DrawingLayerId);
|
|
1796
|
+
this._settings = new MapSettings();
|
|
1594
1797
|
this.onDestroy = () => {
|
|
1595
1798
|
this.registrator.down();
|
|
1596
1799
|
};
|
|
@@ -1652,6 +1855,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1652
1855
|
type: Input
|
|
1653
1856
|
}] } });
|
|
1654
1857
|
|
|
1858
|
+
/**
|
|
1859
|
+
* MarkersComponent is a component that displays markers on a map.
|
|
1860
|
+
* It listens for changes in the `markers` input property and
|
|
1861
|
+
* automatically puts the markers on the map using the MapPostboyService.
|
|
1862
|
+
*/
|
|
1655
1863
|
class MarkersComponent extends DestructibleComponent {
|
|
1656
1864
|
constructor(postboy) {
|
|
1657
1865
|
super();
|
|
@@ -1659,6 +1867,11 @@ class MarkersComponent extends DestructibleComponent {
|
|
|
1659
1867
|
this.layerName = '';
|
|
1660
1868
|
this._markers = [];
|
|
1661
1869
|
}
|
|
1870
|
+
/**
|
|
1871
|
+
* Sets the markers property.
|
|
1872
|
+
*
|
|
1873
|
+
* @param {MarkerModel[]} value - The array of MarkerModel objects to set as markers.
|
|
1874
|
+
*/
|
|
1662
1875
|
set markers(value) {
|
|
1663
1876
|
this._markers = value ?? [];
|
|
1664
1877
|
this.putMarkers();
|
|
@@ -1716,22 +1929,12 @@ class TooltipSettings {
|
|
|
1716
1929
|
}
|
|
1717
1930
|
|
|
1718
1931
|
class TooltipComponent extends DestructibleComponent {
|
|
1719
|
-
set settings(value) {
|
|
1720
|
-
if (!value || this._settings.isSame(value))
|
|
1721
|
-
return;
|
|
1722
|
-
this._settings = value;
|
|
1723
|
-
this.detector.detectChanges();
|
|
1724
|
-
}
|
|
1725
1932
|
constructor(postboy, detector) {
|
|
1726
1933
|
super();
|
|
1727
1934
|
this.postboy = postboy;
|
|
1728
1935
|
this.detector = detector;
|
|
1729
|
-
this._settings = new TooltipSettings();
|
|
1730
1936
|
this.show = false;
|
|
1731
|
-
this.
|
|
1732
|
-
!!this.overlay && this.map?.removeOverlay(this.overlay);
|
|
1733
|
-
this.show = false;
|
|
1734
|
-
};
|
|
1937
|
+
this._settings = new TooltipSettings();
|
|
1735
1938
|
this.options = (coordinates) => {
|
|
1736
1939
|
return {
|
|
1737
1940
|
element: this.container?.nativeElement,
|
|
@@ -1740,12 +1943,29 @@ class TooltipComponent extends DestructibleComponent {
|
|
|
1740
1943
|
position: coordinates,
|
|
1741
1944
|
};
|
|
1742
1945
|
};
|
|
1946
|
+
this.removeOverlay = () => {
|
|
1947
|
+
!!this.overlay && this.map?.removeOverlay(this.overlay);
|
|
1948
|
+
this.show = false;
|
|
1949
|
+
};
|
|
1950
|
+
}
|
|
1951
|
+
set settings(value) {
|
|
1952
|
+
if (!value || this._settings.isSame(value))
|
|
1953
|
+
return;
|
|
1954
|
+
this._settings = value;
|
|
1955
|
+
this.detector.detectChanges();
|
|
1743
1956
|
}
|
|
1744
1957
|
ngOnInit() {
|
|
1745
1958
|
this.subs.push(this.observeMapRender());
|
|
1746
1959
|
this.subs.push(this.observeMapClick());
|
|
1747
1960
|
this.subs.push(this.observeClose());
|
|
1748
1961
|
}
|
|
1962
|
+
addOverlay(coordinates) {
|
|
1963
|
+
this.removeOverlay();
|
|
1964
|
+
this.overlay = new Overlay(this.options(coordinates));
|
|
1965
|
+
this.map?.addOverlay(this.overlay);
|
|
1966
|
+
this.show = true;
|
|
1967
|
+
this.detector.detectChanges();
|
|
1968
|
+
}
|
|
1749
1969
|
observeMapClick() {
|
|
1750
1970
|
return this.postboy.subscribe(MapClickEvent.ID).subscribe((ev) => {
|
|
1751
1971
|
this._settings.show(ev) ? this.addOverlay(ev.coordinates) : this.removeOverlay();
|
|
@@ -1762,13 +1982,6 @@ class TooltipComponent extends DestructibleComponent {
|
|
|
1762
1982
|
this.map = m.map;
|
|
1763
1983
|
});
|
|
1764
1984
|
}
|
|
1765
|
-
addOverlay(coordinates) {
|
|
1766
|
-
this.removeOverlay();
|
|
1767
|
-
this.overlay = new Overlay(this.options(coordinates));
|
|
1768
|
-
this.map?.addOverlay(this.overlay);
|
|
1769
|
-
this.show = true;
|
|
1770
|
-
this.detector.detectChanges();
|
|
1771
|
-
}
|
|
1772
1985
|
}
|
|
1773
1986
|
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TooltipComponent, deps: [{ token: MapPostboyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1774
1987
|
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 });
|
|
@@ -1782,6 +1995,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1782
1995
|
type: Input
|
|
1783
1996
|
}] } });
|
|
1784
1997
|
|
|
1998
|
+
/**
|
|
1999
|
+
* Component for rendering polygons on a map.
|
|
2000
|
+
* It listens for changes in the `polygons` input property and
|
|
2001
|
+
* automatically puts the polygons on the map using the MapPostboyService.
|
|
2002
|
+
*/
|
|
1785
2003
|
class PolygonsComponent extends DestructibleComponent {
|
|
1786
2004
|
constructor(postboy) {
|
|
1787
2005
|
super();
|
|
@@ -1789,6 +2007,11 @@ class PolygonsComponent extends DestructibleComponent {
|
|
|
1789
2007
|
this.layerName = '';
|
|
1790
2008
|
this._polygons = [];
|
|
1791
2009
|
}
|
|
2010
|
+
/**
|
|
2011
|
+
* Sets the value of polygons.
|
|
2012
|
+
*
|
|
2013
|
+
* @param {PolygonModel[]} value - The new value for polygons.
|
|
2014
|
+
*/
|
|
1792
2015
|
set polygons(value) {
|
|
1793
2016
|
this._polygons = value ?? [];
|
|
1794
2017
|
this.putPolygons();
|
|
@@ -1816,14 +2039,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1816
2039
|
type: Input
|
|
1817
2040
|
}] } });
|
|
1818
2041
|
|
|
2042
|
+
/**
|
|
2043
|
+
* Represents the settings for a zoom control.
|
|
2044
|
+
*/
|
|
1819
2045
|
class ZoomControlSettings {
|
|
1820
2046
|
constructor() {
|
|
2047
|
+
/**
|
|
2048
|
+
* The CSS class name of the control element.
|
|
2049
|
+
*
|
|
2050
|
+
* @type {string}
|
|
2051
|
+
*/
|
|
1821
2052
|
this.controlClass = 'ol-zoom';
|
|
2053
|
+
/**
|
|
2054
|
+
* The CSS class name for zoom in button.
|
|
2055
|
+
* @type {string}
|
|
2056
|
+
*/
|
|
1822
2057
|
this.zoomInClass = 'ol-zoom-in';
|
|
2058
|
+
/**
|
|
2059
|
+
* The CSS class name for the zoom out button element.
|
|
2060
|
+
*
|
|
2061
|
+
* @type {string}
|
|
2062
|
+
*/
|
|
1823
2063
|
this.zoomOutClass = 'ol-zoom-out';
|
|
2064
|
+
/**
|
|
2065
|
+
* The label for the zoom in action.
|
|
2066
|
+
*
|
|
2067
|
+
* @type {string}
|
|
2068
|
+
*/
|
|
1824
2069
|
this.zoomInLabel = 'Zoom In';
|
|
2070
|
+
/**
|
|
2071
|
+
* The label for the zoom out control.
|
|
2072
|
+
*
|
|
2073
|
+
* @type {string}
|
|
2074
|
+
*/
|
|
1825
2075
|
this.zoomOutLabel = 'Zoom Out';
|
|
1826
2076
|
}
|
|
2077
|
+
/**
|
|
2078
|
+
* Copies the provided ZoomControlSettings object.
|
|
2079
|
+
*
|
|
2080
|
+
* @param {ZoomControlSettings} model - The ZoomControlSettings object to be copied.
|
|
2081
|
+
* @return {ZoomControlSettings} - The copied ZoomControlSettings object.
|
|
2082
|
+
*/
|
|
1827
2083
|
static copy(model) {
|
|
1828
2084
|
const result = new ZoomControlSettings();
|
|
1829
2085
|
result.controlClass = model.controlClass;
|
|
@@ -1833,6 +2089,13 @@ class ZoomControlSettings {
|
|
|
1833
2089
|
result.zoomOutLabel = model.zoomOutLabel;
|
|
1834
2090
|
return result;
|
|
1835
2091
|
}
|
|
2092
|
+
/**
|
|
2093
|
+
* Checks if the current ZoomControlSettings object is equal to the given model.
|
|
2094
|
+
*
|
|
2095
|
+
* @param {ZoomControlSettings} model - The ZoomControlSettings object to compare with.
|
|
2096
|
+
*
|
|
2097
|
+
* @return {boolean} - true if the current object is equal to the given model, false otherwise.
|
|
2098
|
+
*/
|
|
1836
2099
|
isSame(model) {
|
|
1837
2100
|
if (this.zoomInClass !== model.zoomInClass)
|
|
1838
2101
|
return false;
|
|
@@ -1846,30 +2109,61 @@ class ZoomControlSettings {
|
|
|
1846
2109
|
return false;
|
|
1847
2110
|
return true;
|
|
1848
2111
|
}
|
|
2112
|
+
/**
|
|
2113
|
+
* Sets the zoom in label of the Zoom Control Settings.
|
|
2114
|
+
*
|
|
2115
|
+
* @param {string} zoomInLabel - The label for the zoom in button.
|
|
2116
|
+
* @return {ZoomControlSettings} - The new Zoom Control Settings object with the updated zoom in label.
|
|
2117
|
+
*/
|
|
1849
2118
|
setZoomInLabel(zoomInLabel) {
|
|
1850
2119
|
return ZoomControlSettings.copy({ ...this, zoomInLabel });
|
|
1851
2120
|
}
|
|
2121
|
+
/**
|
|
2122
|
+
* Sets the zoomOutClass property of the ZoomControlSettings object.
|
|
2123
|
+
*
|
|
2124
|
+
* @param {string} zoomOutClass - The CSS class to be assigned to the zoom out button.
|
|
2125
|
+
* @return {ZoomControlSettings} - The updated ZoomControlSettings object with the new zoomOutClass value.
|
|
2126
|
+
*/
|
|
1852
2127
|
setZoomOutClass(zoomOutClass) {
|
|
1853
2128
|
return ZoomControlSettings.copy({ ...this, zoomOutClass });
|
|
1854
2129
|
}
|
|
2130
|
+
/**
|
|
2131
|
+
* Sets the zoom in class for the zoom control settings.
|
|
2132
|
+
*
|
|
2133
|
+
* @param {string} zoomInClass - The new zoom in class to be set.
|
|
2134
|
+
* @return {ZoomControlSettings} - The updated zoom control settings.
|
|
2135
|
+
*/
|
|
1855
2136
|
setZoomInClass(zoomInClass) {
|
|
1856
2137
|
return ZoomControlSettings.copy({ ...this, zoomInClass });
|
|
1857
2138
|
}
|
|
2139
|
+
/**
|
|
2140
|
+
* Set the label for the zoom out control.
|
|
2141
|
+
*
|
|
2142
|
+
* @param {string} zoomOutLabel - The label for the zoom out control.
|
|
2143
|
+
* @returns {ZoomControlSettings} - The updated zoom control settings.
|
|
2144
|
+
*/
|
|
1858
2145
|
setZoomOutLabel(zoomOutLabel) {
|
|
1859
2146
|
return ZoomControlSettings.copy({ ...this, zoomOutLabel });
|
|
1860
2147
|
}
|
|
2148
|
+
/**
|
|
2149
|
+
* Sets the control class for the ZoomControlSettings.
|
|
2150
|
+
*
|
|
2151
|
+
* @param {string} controlClass - The class name of the control to be set.
|
|
2152
|
+
*
|
|
2153
|
+
* @return {ZoomControlSettings} - The modified ZoomControlSettings object.
|
|
2154
|
+
*/
|
|
1861
2155
|
setControlClass(controlClass) {
|
|
1862
2156
|
return ZoomControlSettings.copy({ ...this, controlClass });
|
|
1863
2157
|
}
|
|
1864
2158
|
}
|
|
1865
2159
|
|
|
2160
|
+
/**
|
|
2161
|
+
* @class
|
|
2162
|
+
* @classdesc Represents a component for the Zoom control on a map.
|
|
2163
|
+
* @extends DestructibleComponent
|
|
2164
|
+
* @implements OnInit
|
|
2165
|
+
*/
|
|
1866
2166
|
class MapControlZoomComponent extends DestructibleComponent {
|
|
1867
|
-
set settings(value) {
|
|
1868
|
-
if (!value || this._settings.isSame(value))
|
|
1869
|
-
return;
|
|
1870
|
-
this._settings = value;
|
|
1871
|
-
this.setControl();
|
|
1872
|
-
}
|
|
1873
2167
|
constructor(postboy) {
|
|
1874
2168
|
super();
|
|
1875
2169
|
this.postboy = postboy;
|
|
@@ -1879,6 +2173,23 @@ class MapControlZoomComponent extends DestructibleComponent {
|
|
|
1879
2173
|
};
|
|
1880
2174
|
this.eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
|
|
1881
2175
|
}
|
|
2176
|
+
/**
|
|
2177
|
+
* Sets the settings for the Zoom Control.
|
|
2178
|
+
*
|
|
2179
|
+
* @param {ZoomControlSettings | undefined} value - The new settings for the Zoom Control.
|
|
2180
|
+
*
|
|
2181
|
+
* @description
|
|
2182
|
+
* This method sets the settings for the Zoom Control. It takes a parameter `value` which should be an object of type `ZoomControlSettings` or `undefined`.
|
|
2183
|
+
*
|
|
2184
|
+
* If the `value` is `undefined` or the same as the current settings, the method will return without making any changes.
|
|
2185
|
+
*
|
|
2186
|
+
*/
|
|
2187
|
+
set settings(value) {
|
|
2188
|
+
if (!value || this._settings.isSame(value))
|
|
2189
|
+
return;
|
|
2190
|
+
this._settings = value;
|
|
2191
|
+
this.setControl();
|
|
2192
|
+
}
|
|
1882
2193
|
ngOnInit() {
|
|
1883
2194
|
this.postboy
|
|
1884
2195
|
.subscribe(MapRenderedEvent.ID)
|
|
@@ -1954,7 +2265,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1954
2265
|
}]
|
|
1955
2266
|
}] });
|
|
1956
2267
|
|
|
2268
|
+
/**
|
|
2269
|
+
* Helper class to create and modify marker styles.
|
|
2270
|
+
*/
|
|
1957
2271
|
class MarkerStyleHelper {
|
|
2272
|
+
/**
|
|
2273
|
+
* Creates a new Style object from an SVG.
|
|
2274
|
+
* @param {string} svg - The SVG string.
|
|
2275
|
+
* @param {Array<number>} [size=[30, 30]] - The size of the icon image.
|
|
2276
|
+
* @param {number} [zIndex=400] - The zIndex of the style.
|
|
2277
|
+
* @returns {Style} A new Style object.
|
|
2278
|
+
*/
|
|
1958
2279
|
static fromSvg(svg, size = [30, 30], zIndex = 400) {
|
|
1959
2280
|
let image = new Image();
|
|
1960
2281
|
image.src = 'data:image/svg+xml,' + escape(svg);
|
|
@@ -1966,6 +2287,15 @@ class MarkerStyleHelper {
|
|
|
1966
2287
|
zIndex,
|
|
1967
2288
|
});
|
|
1968
2289
|
}
|
|
2290
|
+
/**
|
|
2291
|
+
* Returns a Style object with a circle style.
|
|
2292
|
+
*
|
|
2293
|
+
* @param {number} radius - The radius of the circle.
|
|
2294
|
+
* @param {string} fill - The fill color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
|
|
2295
|
+
* @param {string} strokeColor - The stroke color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
|
|
2296
|
+
* @param {number} [strokeWidth=1] - The width of the stroke. Default is 1.
|
|
2297
|
+
* @returns {Style} - A Style object with a Circle image.
|
|
2298
|
+
*/
|
|
1969
2299
|
static circle(radius, fill, strokeColor, strokeWidth = 1) {
|
|
1970
2300
|
return new Style({
|
|
1971
2301
|
image: new Circle({
|
|
@@ -1975,13 +2305,32 @@ class MarkerStyleHelper {
|
|
|
1975
2305
|
}),
|
|
1976
2306
|
});
|
|
1977
2307
|
}
|
|
2308
|
+
/**
|
|
2309
|
+
* Applies the given Text to the provided Style.
|
|
2310
|
+
*
|
|
2311
|
+
* @param {Style} style - The Style to modify.
|
|
2312
|
+
* @param {Text} text - The Text to apply to the Style.
|
|
2313
|
+
* @return {Style} - The modified Style with the applied Text.
|
|
2314
|
+
*/
|
|
1978
2315
|
static withText(style, text) {
|
|
1979
2316
|
style.setText(text);
|
|
1980
2317
|
return style;
|
|
1981
2318
|
}
|
|
1982
2319
|
}
|
|
1983
2320
|
|
|
2321
|
+
/**
|
|
2322
|
+
* A helper class for creating polygon styles.
|
|
2323
|
+
* @class
|
|
2324
|
+
*/
|
|
1984
2325
|
class PolygonStyleHelper {
|
|
2326
|
+
/**
|
|
2327
|
+
* Creates a Style object with the given fill color, stroke color, and stroke width.
|
|
2328
|
+
*
|
|
2329
|
+
* @param {string} fill - The fill color in hexadecimal or RGB format.
|
|
2330
|
+
* @param {string} stroke - The stroke color in hexadecimal or RGB format.
|
|
2331
|
+
* @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
|
|
2332
|
+
* @return {Style} The created Style object.
|
|
2333
|
+
*/
|
|
1985
2334
|
static simple(fill, stroke, strokeWidth = 1) {
|
|
1986
2335
|
return new Style({
|
|
1987
2336
|
fill: new Fill({
|
|
@@ -1993,6 +2342,15 @@ class PolygonStyleHelper {
|
|
|
1993
2342
|
}),
|
|
1994
2343
|
});
|
|
1995
2344
|
}
|
|
2345
|
+
/**
|
|
2346
|
+
* Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
|
|
2347
|
+
*
|
|
2348
|
+
* @param {string} fill - The color to use for the fill of the style.
|
|
2349
|
+
* @param {string} stroke - The color to use for the stroke of the style.
|
|
2350
|
+
* @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
|
|
2351
|
+
* @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
|
|
2352
|
+
* @returns {Style} - The newly created Style object.
|
|
2353
|
+
*/
|
|
1996
2354
|
static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
|
|
1997
2355
|
return new Style({
|
|
1998
2356
|
image: new Circle({
|
|
@@ -2012,7 +2370,18 @@ class PolygonStyleHelper {
|
|
|
2012
2370
|
}
|
|
2013
2371
|
}
|
|
2014
2372
|
|
|
2373
|
+
/**
|
|
2374
|
+
* Helper class for creating text styles.
|
|
2375
|
+
*/
|
|
2015
2376
|
class TextStyleHelper {
|
|
2377
|
+
/**
|
|
2378
|
+
* Creates a new instance of the Text class with the specified properties.
|
|
2379
|
+
*
|
|
2380
|
+
* @param {string} text - The text content of the Text object.
|
|
2381
|
+
* @param {string} font - The font style of the Text object.
|
|
2382
|
+
* @param {string} color - The color of the Text object.
|
|
2383
|
+
* @return {Text} A new instance of the Text class.
|
|
2384
|
+
*/
|
|
2016
2385
|
static get(text, font, color) {
|
|
2017
2386
|
return new Text({
|
|
2018
2387
|
text: text,
|
|
@@ -2025,37 +2394,41 @@ class TextStyleHelper {
|
|
|
2025
2394
|
}
|
|
2026
2395
|
}
|
|
2027
2396
|
|
|
2397
|
+
/**
|
|
2398
|
+
* A helper class for converting and stringify features.
|
|
2399
|
+
*/
|
|
2028
2400
|
class StringifyFeatureHelper {
|
|
2029
2401
|
static polygon(feature, format = FeatureOutputFormat.GeoJson) {
|
|
2030
2402
|
return format === FeatureOutputFormat.GeoJson
|
|
2031
2403
|
? new GeoJSON().writeFeature(feature)
|
|
2032
2404
|
: new WKT().writeFeature(feature);
|
|
2033
2405
|
}
|
|
2406
|
+
/**
|
|
2407
|
+
* Creates a polygon feature representing a circle based on a given feature with a circle geometry.
|
|
2408
|
+
*
|
|
2409
|
+
* @param {Feature<Geometry>} feature - The input feature with a circle geometry.
|
|
2410
|
+
* @param {FeatureOutputFormat} format - The format for outputting the polygon feature. (default: FeatureOutputFormat.GeoJson)
|
|
2411
|
+
*
|
|
2412
|
+
* @return {string} - The string representation of the polygon feature.
|
|
2413
|
+
*/
|
|
2034
2414
|
static circle(feature, format = FeatureOutputFormat.GeoJson) {
|
|
2035
|
-
// const clone = feature.clone();
|
|
2036
|
-
// clone.setGeometry(fromCircle(feature.getGeometry()! as Circle));
|
|
2037
|
-
const tetemp = feature.getGeometryName();
|
|
2038
2415
|
const circle = feature.getGeometry();
|
|
2039
|
-
|
|
2040
|
-
const
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
...transform([ttt[0], ttt[1]], 'EPSG:4326', 'EPSG:3857'),
|
|
2044
|
-
...transform([ttt[2], ttt[3]], 'EPSG:4326', 'EPSG:3857'),
|
|
2416
|
+
const ext = feature.getGeometry().getExtent();
|
|
2417
|
+
const coords = [
|
|
2418
|
+
...transform([ext[0], ext[1]], 'EPSG:4326', 'EPSG:3857'),
|
|
2419
|
+
...transform([ext[2], ext[3]], 'EPSG:4326', 'EPSG:3857'),
|
|
2045
2420
|
];
|
|
2046
|
-
const radius = (
|
|
2047
|
-
const radius2 = new LineString([circle.getCenter(), eastPoint]).getLength();
|
|
2421
|
+
const radius = (coords[2] - coords[0]) / 2;
|
|
2048
2422
|
const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
|
|
2049
|
-
// var edgeCoordinate = [circle.getCenter()[0] + radius, circle.getCenter()[1]];
|
|
2050
|
-
// var wgs84Sphere = new Sphere(6378137);
|
|
2051
2423
|
return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
|
|
2052
|
-
// const rad = circle.getRadius();
|
|
2053
|
-
// const degrees = 180 / Math.PI; // radians to degrees
|
|
2054
|
-
// const radians = Math.PI / 180; // degrees to radians
|
|
2055
|
-
// const rlat = rad * degrees * 1000;
|
|
2056
|
-
// const rlng = rad * radians;
|
|
2057
|
-
// return StringifyFeatureHelper.polygon(new Feature<Geometry>(circular(circle.getCenter(),circle.getRadius() * METERS_PER_UNIT)), format);
|
|
2058
2424
|
}
|
|
2425
|
+
/**
|
|
2426
|
+
* Draw a circle based on a center point and radius.
|
|
2427
|
+
*
|
|
2428
|
+
* @param {number[]} point - The center point coordinates in EPSG:4326 format.
|
|
2429
|
+
* @param {number} radius - The radius of the circle in meters.
|
|
2430
|
+
* @return {Coordinate[][]} - The coordinates of the circle boundary in EPSG:4326 format.
|
|
2431
|
+
*/
|
|
2059
2432
|
static drawCircle(point, radius) {
|
|
2060
2433
|
const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
|
|
2061
2434
|
// const tetetemp = point;
|
|
@@ -2088,5 +2461,5 @@ class StringifyFeatureHelper {
|
|
|
2088
2461
|
* Generated bundle index. Do not edit.
|
|
2089
2462
|
*/
|
|
2090
2463
|
|
|
2091
|
-
export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FitToPolygonsCommand, MapClickEvent, MapControl, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
|
|
2464
|
+
export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FitToPolygonsCommand, GetMapPositionExecutor, MapClickEvent, MapControl, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
|
|
2092
2465
|
//# sourceMappingURL=maps-components.mjs.map
|