@artstesh/maps 5.1.7 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -13
- package/dist/README.md +24 -24
- package/dist/esm2022/map/common/destructible.component.mjs +18 -18
- package/dist/esm2022/map/common/id.generator.mjs +14 -14
- package/dist/esm2022/map/helpers/index.mjs +4 -4
- package/dist/esm2022/map/helpers/marker-style.helper.mjs +28 -28
- package/dist/esm2022/map/helpers/polygon-style.helper.mjs +32 -32
- package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +58 -58
- package/dist/esm2022/map/helpers/text-style.helper.mjs +13 -13
- package/dist/esm2022/map/map-plate/controls/index.mjs +2 -2
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
- package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +44 -44
- package/dist/esm2022/map/map-plate/features/index.mjs +2 -2
- package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +42 -42
- package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +42 -42
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
- package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +66 -66
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
- package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +91 -91
- package/dist/esm2022/map/map-plate/layers/index.mjs +7 -7
- package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
- package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +44 -44
- package/dist/esm2022/map/map-plate/map-plate.component.mjs +102 -102
- package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +27 -27
- package/dist/esm2022/map/map-plate/tooltips/index.mjs +2 -2
- package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
- package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
- package/dist/esm2022/map/map.module.mjs +63 -63
- package/dist/esm2022/map/messages/commands/add-control.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/add-layer.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/add-tile.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +7 -7
- package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
- package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +16 -16
- package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +14 -14
- package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +14 -14
- package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +17 -17
- package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +14 -14
- package/dist/esm2022/map/messages/commands/remove-control.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +12 -12
- package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +25 -25
- package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +17 -17
- package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +10 -10
- package/dist/esm2022/map/messages/events/map-click.event.mjs +16 -16
- package/dist/esm2022/map/messages/events/map-move-end.event.mjs +14 -14
- package/dist/esm2022/map/messages/events/map-rendered.event.mjs +12 -12
- package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +12 -12
- package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
- package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +16 -16
- package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
- package/dist/esm2022/map/messages/index.mjs +14 -14
- package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +14 -14
- package/dist/esm2022/map/messages/queries/get-layer.query.mjs +12 -12
- package/dist/esm2022/map/models/drawing-type.enum.mjs +7 -7
- package/dist/esm2022/map/models/feature-format.enum.mjs +5 -5
- package/dist/esm2022/map/models/i-identified.mjs +1 -1
- package/dist/esm2022/map/models/index.mjs +7 -7
- package/dist/esm2022/map/models/map-control.mjs +14 -14
- package/dist/esm2022/map/models/map-lyrs.enum.mjs +18 -18
- package/dist/esm2022/map/models/map-settings.mjs +50 -50
- package/dist/esm2022/map/models/map.constants.mjs +4 -4
- package/dist/esm2022/map/models/marker-model.mjs +28 -28
- package/dist/esm2022/map/models/polygon.model.mjs +32 -32
- package/dist/esm2022/map/public-api.mjs +15 -15
- package/dist/esm2022/map/services/controls/controls.service.mjs +39 -39
- package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +25 -25
- package/dist/esm2022/map/services/drawing/drawing.service.mjs +101 -101
- package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +103 -103
- package/dist/esm2022/map/services/feature.service.mjs +21 -21
- package/dist/esm2022/map/services/map-click.service.mjs +55 -55
- package/dist/esm2022/map/services/map-feature.service.mjs +55 -55
- package/dist/esm2022/map/services/map-management.service.mjs +103 -103
- package/dist/esm2022/map/services/map-postboy.service.mjs +18 -18
- package/dist/esm2022/map/services/map-state.service.mjs +43 -43
- package/dist/esm2022/map/services/message-registrator.service.mjs +82 -82
- package/dist/esm2022/maps-components.mjs +4 -4
- package/dist/esm2022/public-api.mjs +4 -4
- package/dist/esm2022/src/map/common/destructible.component.mjs +18 -18
- package/dist/esm2022/src/map/common/id.generator.mjs +14 -14
- package/dist/esm2022/src/map/helpers/index.mjs +4 -4
- package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +28 -28
- package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +32 -32
- package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +58 -58
- package/dist/esm2022/src/map/helpers/text-style.helper.mjs +13 -13
- package/dist/esm2022/src/map/map-plate/controls/index.mjs +2 -2
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
- package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +44 -44
- package/dist/esm2022/src/map/map-plate/features/index.mjs +2 -2
- package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +42 -42
- package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +42 -42
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
- package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +66 -66
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
- package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +91 -91
- package/dist/esm2022/src/map/map-plate/layers/index.mjs +7 -7
- package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
- package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +44 -44
- package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +102 -102
- package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +27 -27
- package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +2 -2
- package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
- package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
- package/dist/esm2022/src/map/map.module.mjs +63 -63
- package/dist/esm2022/src/map/maps-components-src-map.mjs +4 -4
- package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +7 -7
- package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
- package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +16 -16
- package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +14 -14
- package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +14 -14
- package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +17 -17
- package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +14 -14
- package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +12 -12
- package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +25 -25
- package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +17 -17
- package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +10 -10
- package/dist/esm2022/src/map/messages/events/map-click.event.mjs +16 -16
- package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +14 -14
- package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +12 -12
- package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +12 -12
- package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
- package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +16 -16
- package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
- package/dist/esm2022/src/map/messages/index.mjs +14 -14
- package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +14 -14
- package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +12 -12
- package/dist/esm2022/src/map/models/drawing-type.enum.mjs +7 -7
- package/dist/esm2022/src/map/models/feature-format.enum.mjs +5 -5
- package/dist/esm2022/src/map/models/i-identified.mjs +1 -1
- package/dist/esm2022/src/map/models/index.mjs +7 -7
- package/dist/esm2022/src/map/models/map-control.mjs +14 -14
- package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +18 -18
- package/dist/esm2022/src/map/models/map-settings.mjs +50 -50
- package/dist/esm2022/src/map/models/map.constants.mjs +4 -4
- package/dist/esm2022/src/map/models/marker-model.mjs +28 -28
- package/dist/esm2022/src/map/models/polygon.model.mjs +32 -32
- package/dist/esm2022/src/map/public-api.mjs +15 -15
- package/dist/esm2022/src/map/services/controls/controls.service.mjs +39 -39
- package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +25 -25
- package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +101 -101
- package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +103 -103
- package/dist/esm2022/src/map/services/feature.service.mjs +21 -21
- package/dist/esm2022/src/map/services/map-click.service.mjs +55 -55
- package/dist/esm2022/src/map/services/map-feature.service.mjs +55 -55
- package/dist/esm2022/src/map/services/map-management.service.mjs +103 -103
- package/dist/esm2022/src/map/services/map-postboy.service.mjs +18 -18
- package/dist/esm2022/src/map/services/map-state.service.mjs +43 -43
- package/dist/esm2022/src/map/services/message-registrator.service.mjs +82 -82
- package/dist/fesm2022/maps-components-src-map.mjs +2109 -2109
- package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
- package/dist/fesm2022/maps-components.mjs +2111 -2111
- package/dist/fesm2022/maps-components.mjs.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/map/common/destructible.component.d.ts +10 -10
- package/dist/map/common/id.generator.d.ts +4 -4
- package/dist/map/helpers/index.d.ts +4 -4
- package/dist/map/helpers/marker-style.helper.d.ts +7 -7
- package/dist/map/helpers/polygon-style.helper.d.ts +5 -5
- package/dist/map/helpers/stringify-feature.helper.d.ts +8 -8
- package/dist/map/helpers/text-style.helper.d.ts +4 -4
- package/dist/map/map-plate/controls/index.d.ts +2 -2
- package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -19
- package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
- package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -14
- package/dist/map/map-plate/features/index.d.ts +2 -2
- package/dist/map/map-plate/features/markers/markers.component.d.ts +16 -16
- package/dist/map/map-plate/features/polygons/polygons.component.d.ts +16 -16
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -21
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
- package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +22 -22
- package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
- package/dist/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
- package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +61 -61
- package/dist/map/map-plate/layers/index.d.ts +7 -7
- package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
- package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
- package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
- package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +14 -14
- package/dist/map/map-plate/map-plate.component.d.ts +27 -27
- package/dist/map/map-plate/map-plate.factory.service.d.ts +8 -8
- package/dist/map/map-plate/tooltips/index.d.ts +2 -2
- package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
- package/dist/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
- package/dist/map/map.module.d.ts +17 -17
- package/dist/map/messages/commands/add-control.command.d.ts +8 -8
- package/dist/map/messages/commands/add-layer.command.d.ts +10 -10
- package/dist/map/messages/commands/add-tile.command.d.ts +9 -9
- package/dist/map/messages/commands/cancel-drawing.command.d.ts +5 -5
- package/dist/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
- package/dist/map/messages/commands/close-tooltip.command.d.ts +7 -7
- package/dist/map/messages/commands/draw-selection-area.command.d.ts +13 -13
- package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -10
- package/dist/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
- package/dist/map/messages/commands/modify-feature.command.d.ts +11 -11
- package/dist/map/messages/commands/place-layer-features.command.d.ts +10 -10
- package/dist/map/messages/commands/remove-control.command.d.ts +8 -8
- package/dist/map/messages/commands/remove-layer.command.d.ts +8 -8
- package/dist/map/messages/commands/remove-tile.command.d.ts +9 -9
- package/dist/map/messages/commands/set-map-center.command.d.ts +18 -18
- package/dist/map/messages/commands/start-drawing.command.d.ts +11 -11
- package/dist/map/messages/events/drawing-finished.event.d.ts +6 -6
- package/dist/map/messages/events/map-click.event.d.ts +20 -20
- package/dist/map/messages/events/map-move-end.event.d.ts +8 -8
- package/dist/map/messages/events/map-rendered.event.d.ts +8 -8
- package/dist/map/messages/executors/calculate-area.executor.d.ts +10 -10
- package/dist/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
- package/dist/map/messages/executors/generate-draw.executor.d.ts +14 -14
- package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
- package/dist/map/messages/index.d.ts +14 -14
- package/dist/map/messages/queries/get-features-in-area.query.d.ts +11 -11
- package/dist/map/messages/queries/get-layer.query.d.ts +10 -10
- package/dist/map/models/drawing-type.enum.d.ts +6 -6
- package/dist/map/models/feature-format.enum.d.ts +4 -4
- package/dist/map/models/i-identified.d.ts +3 -3
- package/dist/map/models/index.d.ts +7 -7
- package/dist/map/models/map-control.d.ts +13 -13
- package/dist/map/models/map-lyrs.enum.d.ts +10 -10
- package/dist/map/models/map-settings.d.ts +17 -17
- package/dist/map/models/map.constants.d.ts +4 -4
- package/dist/map/models/marker-model.d.ts +16 -16
- package/dist/map/models/polygon.model.d.ts +19 -19
- package/dist/map/public-api.d.ts +12 -12
- package/dist/map/services/controls/controls.service.d.ts +14 -14
- package/dist/map/services/drawing/drawing-generation.service.d.ts +6 -6
- package/dist/map/services/drawing/drawing.service.d.ts +19 -19
- package/dist/map/services/drawing/feature-modification.service.d.ts +22 -22
- package/dist/map/services/feature.service.d.ts +9 -9
- package/dist/map/services/map-click.service.d.ts +16 -16
- package/dist/map/services/map-feature.service.d.ts +16 -16
- package/dist/map/services/map-management.service.d.ts +20 -20
- package/dist/map/services/map-postboy.service.d.ts +7 -7
- package/dist/map/services/map-state.service.d.ts +13 -13
- package/dist/map/services/message-registrator.service.d.ts +17 -17
- package/dist/public-api.d.ts +1 -1
- package/dist/src/map/common/destructible.component.d.ts +10 -10
- package/dist/src/map/common/id.generator.d.ts +4 -4
- package/dist/src/map/helpers/index.d.ts +4 -4
- package/dist/src/map/helpers/marker-style.helper.d.ts +7 -7
- package/dist/src/map/helpers/polygon-style.helper.d.ts +5 -5
- package/dist/src/map/helpers/stringify-feature.helper.d.ts +8 -8
- package/dist/src/map/helpers/text-style.helper.d.ts +4 -4
- package/dist/src/map/index.d.ts +5 -5
- package/dist/src/map/map-plate/controls/index.d.ts +2 -2
- package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -19
- package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
- package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -14
- package/dist/src/map/map-plate/features/index.d.ts +2 -2
- package/dist/src/map/map-plate/features/markers/markers.component.d.ts +16 -16
- package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +16 -16
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -21
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
- package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +22 -22
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
- package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +61 -61
- package/dist/src/map/map-plate/layers/index.d.ts +7 -7
- package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
- package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +14 -14
- package/dist/src/map/map-plate/map-plate.component.d.ts +27 -27
- package/dist/src/map/map-plate/map-plate.factory.service.d.ts +8 -8
- package/dist/src/map/map-plate/tooltips/index.d.ts +2 -2
- package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
- package/dist/src/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
- package/dist/src/map/map.module.d.ts +17 -17
- package/dist/src/map/messages/commands/add-control.command.d.ts +8 -8
- package/dist/src/map/messages/commands/add-layer.command.d.ts +10 -10
- package/dist/src/map/messages/commands/add-tile.command.d.ts +9 -9
- package/dist/src/map/messages/commands/cancel-drawing.command.d.ts +5 -5
- package/dist/src/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
- package/dist/src/map/messages/commands/close-tooltip.command.d.ts +7 -7
- package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +13 -13
- package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -10
- package/dist/src/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
- package/dist/src/map/messages/commands/modify-feature.command.d.ts +11 -11
- package/dist/src/map/messages/commands/place-layer-features.command.d.ts +10 -10
- package/dist/src/map/messages/commands/remove-control.command.d.ts +8 -8
- package/dist/src/map/messages/commands/remove-layer.command.d.ts +8 -8
- package/dist/src/map/messages/commands/remove-tile.command.d.ts +9 -9
- package/dist/src/map/messages/commands/set-map-center.command.d.ts +18 -18
- package/dist/src/map/messages/commands/start-drawing.command.d.ts +11 -11
- package/dist/src/map/messages/events/drawing-finished.event.d.ts +6 -6
- package/dist/src/map/messages/events/map-click.event.d.ts +20 -20
- package/dist/src/map/messages/events/map-move-end.event.d.ts +8 -8
- package/dist/src/map/messages/events/map-rendered.event.d.ts +8 -8
- package/dist/src/map/messages/executors/calculate-area.executor.d.ts +10 -10
- package/dist/src/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
- package/dist/src/map/messages/executors/generate-draw.executor.d.ts +14 -14
- package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
- package/dist/src/map/messages/index.d.ts +14 -14
- package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +11 -11
- package/dist/src/map/messages/queries/get-layer.query.d.ts +10 -10
- package/dist/src/map/models/drawing-type.enum.d.ts +6 -6
- package/dist/src/map/models/feature-format.enum.d.ts +4 -4
- package/dist/src/map/models/i-identified.d.ts +3 -3
- package/dist/src/map/models/index.d.ts +7 -7
- package/dist/src/map/models/map-control.d.ts +13 -13
- package/dist/src/map/models/map-lyrs.enum.d.ts +10 -10
- package/dist/src/map/models/map-settings.d.ts +17 -17
- package/dist/src/map/models/map.constants.d.ts +4 -4
- package/dist/src/map/models/marker-model.d.ts +16 -16
- package/dist/src/map/models/polygon.model.d.ts +19 -19
- package/dist/src/map/public-api.d.ts +12 -12
- package/dist/src/map/services/controls/controls.service.d.ts +14 -14
- package/dist/src/map/services/drawing/drawing-generation.service.d.ts +6 -6
- package/dist/src/map/services/drawing/drawing.service.d.ts +19 -19
- package/dist/src/map/services/drawing/feature-modification.service.d.ts +22 -22
- package/dist/src/map/services/feature.service.d.ts +9 -9
- package/dist/src/map/services/map-click.service.d.ts +16 -16
- package/dist/src/map/services/map-feature.service.d.ts +16 -16
- package/dist/src/map/services/map-management.service.d.ts +20 -20
- package/dist/src/map/services/map-postboy.service.d.ts +7 -7
- package/dist/src/map/services/map-state.service.d.ts +13 -13
- package/dist/src/map/services/message-registrator.service.d.ts +17 -17
- package/package.json +23 -24
- package/dist/package.json +0 -35
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Modify, Translate } from 'ol/interaction';
|
|
3
|
-
import { Collection } from 'ol';
|
|
4
|
-
import { MapRenderedEvent } from '../../messages';
|
|
5
|
-
import { FeatureOutputFormat } from '../../models';
|
|
6
|
-
import { GeoJSON, WKT } from 'ol/format';
|
|
7
|
-
import { GetLayerQuery } from '../../messages/queries/get-layer.query';
|
|
8
|
-
import { MapConstants } from '../../models/map.constants';
|
|
9
|
-
import { first } from 'rxjs/operators';
|
|
10
|
-
import { CancelFeatureModificationCommand } from '../../messages/commands/cancel-feature-modification.command';
|
|
11
|
-
import { ModifyFeatureCommand } from '../../messages/commands/modify-feature.command';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "../map-postboy.service";
|
|
14
|
-
export class FeatureModificationService {
|
|
15
|
-
postboy;
|
|
16
|
-
modify;
|
|
17
|
-
translate;
|
|
18
|
-
map;
|
|
19
|
-
constructor(postboy) {
|
|
20
|
-
this.postboy = postboy;
|
|
21
|
-
}
|
|
22
|
-
up() {
|
|
23
|
-
this.observeModification();
|
|
24
|
-
this.observeMapRender();
|
|
25
|
-
}
|
|
26
|
-
observeModification() {
|
|
27
|
-
this.postboy.subscribe(ModifyFeatureCommand.ID).subscribe((ev) => {
|
|
28
|
-
this.defineLayer((l) => {
|
|
29
|
-
if (!l || !this.map) {
|
|
30
|
-
this.clearInteraction(l);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
this.observeCancelation(ev, l);
|
|
34
|
-
this.initFeature(l, ev.model.feature);
|
|
35
|
-
this.addModify(ev);
|
|
36
|
-
this.addDragging(ev);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
initFeature(layer, feature) {
|
|
41
|
-
layer.getSource()?.clear();
|
|
42
|
-
layer.getSource()?.addFeature(feature);
|
|
43
|
-
}
|
|
44
|
-
addModify(command) {
|
|
45
|
-
this.modify = new Modify({
|
|
46
|
-
features: new Collection([command.model.feature]),
|
|
47
|
-
style: command.style,
|
|
48
|
-
});
|
|
49
|
-
this.modify.on('modifyend', () => {
|
|
50
|
-
this.onModified(command);
|
|
51
|
-
command.model.feature.changed();
|
|
52
|
-
});
|
|
53
|
-
this.map?.addInteraction(this.modify);
|
|
54
|
-
}
|
|
55
|
-
addDragging(command) {
|
|
56
|
-
this.translate = new Translate({
|
|
57
|
-
features: new Collection([command.model.feature]),
|
|
58
|
-
condition: (ev) => {
|
|
59
|
-
const clone = command.model.feature.clone();
|
|
60
|
-
clone.getGeometry()?.scale(0.999);
|
|
61
|
-
return clone.getGeometry().intersectsCoordinate(ev.coordinate);
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
this.translate.on('translateend', () => this.onModified(command));
|
|
65
|
-
this.map?.addInteraction(this.translate);
|
|
66
|
-
}
|
|
67
|
-
onModified(command) {
|
|
68
|
-
command.next(command.format === FeatureOutputFormat.GeoJson
|
|
69
|
-
? new GeoJSON().writeFeature(command.model.feature)
|
|
70
|
-
: new WKT().writeFeature(command.model.feature));
|
|
71
|
-
}
|
|
72
|
-
observeMapRender() {
|
|
73
|
-
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
74
|
-
this.map = m.map;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
defineLayer(action) {
|
|
78
|
-
const query = new GetLayerQuery(MapConstants.DrawingLayerId);
|
|
79
|
-
query.result.subscribe((l) => action(l));
|
|
80
|
-
this.postboy.fire(query);
|
|
81
|
-
}
|
|
82
|
-
observeCancelation(ev, layer) {
|
|
83
|
-
return this.postboy
|
|
84
|
-
.subscribe(CancelFeatureModificationCommand.ID)
|
|
85
|
-
.pipe(first())
|
|
86
|
-
.subscribe(() => {
|
|
87
|
-
ev.finish(null);
|
|
88
|
-
this.clearInteraction(layer);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
clearInteraction(layer) {
|
|
92
|
-
if (this.modify)
|
|
93
|
-
this.map?.removeInteraction(this.modify);
|
|
94
|
-
if (this.translate)
|
|
95
|
-
this.map?.removeInteraction(this.translate);
|
|
96
|
-
}
|
|
97
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
98
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
99
|
-
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
101
|
-
type: Injectable
|
|
102
|
-
}], ctorParameters:
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL2RyYXdpbmcvZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxJQUFJLENBQUM7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFHdEYsTUFBTSxPQUFPLDBCQUEwQjtJQUtqQjtJQUpaLE1BQU0sQ0FBVTtJQUNoQixTQUFTLENBQWE7SUFDdEIsR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFF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LElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRCxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQzt3R0ExRlUsMEJBQTBCOzRHQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNb2RpZnksIFRyYW5zbGF0ZSB9IGZyb20gJ29sL2ludGVyYWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIEZlYXR1cmUsIE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgRmVhdHVyZU91dHB1dEZvcm1hdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IEdlb0pTT04sIFdLVCB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZlY3RvciBhcyBTb3VyY2UgfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgQ2FuY2VsRmVhdHVyZU1vZGlmaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZmVhdHVyZS1tb2RpZmljYXRpb24uY29tbWFuZCc7XG5pbXBvcnQgeyBNb2RpZnlGZWF0dXJlQ29tbWFuZCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL21vZGlmeS1mZWF0dXJlLmNvbW1hbmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1vZGlmeT86IE1vZGlmeTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGU/OiBUcmFuc2xhdGU7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHt9XG5cbiAgdXAoKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlTW9kaWZpY2F0aW9uKCk7XG4gICAgdGhpcy5vYnNlcnZlTWFwUmVuZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNb2RpZmljYXRpb24oKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNb2RpZnlGZWF0dXJlQ29tbWFuZD4oTW9kaWZ5RmVhdHVyZUNvbW1hbmQuSUQpLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgIHRoaXMuZGVmaW5lTGF5ZXIoKGwpID0+IHtcbiAgICAgICAgaWYgKCFsIHx8ICF0aGlzLm1hcCkge1xuICAgICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vYnNlcnZlQ2FuY2VsYXRpb24oZXYsIGwpO1xuICAgICAgICB0aGlzLmluaXRGZWF0dXJlKGwsIGV2Lm1vZGVsLmZlYXR1cmUpO1xuICAgICAgICB0aGlzLmFkZE1vZGlmeShldik7XG4gICAgICAgIHRoaXMuYWRkRHJhZ2dpbmcoZXYpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGZWF0dXJlKGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8R2VvbWV0cnk+PiwgZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4pOiB2b2lkIHtcbiAgICBsYXllci5nZXRTb3VyY2UoKT8uY2xlYXIoKTtcbiAgICBsYXllci5nZXRTb3VyY2UoKT8uYWRkRmVhdHVyZShmZWF0dXJlKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTW9kaWZ5KGNvbW1hbmQ6IE1vZGlmeUZlYXR1cmVDb21tYW5kKTogdm9pZCB7XG4gICAgdGhpcy5tb2RpZnkgPSBuZXcgTW9kaWZ5KHtcbiAgICAgIGZlYXR1cmVzOiBuZXcgQ29sbGVjdGlvbihbY29tbWFuZC5tb2RlbC5mZWF0dXJlXSksXG4gICAgICBzdHlsZTogY29tbWFuZC5zdHlsZSxcbiAgICB9KTtcbiAgICB0aGlzLm1vZGlmeS5vbignbW9kaWZ5ZW5kJywgKCkgPT4ge1xuICAgICAgdGhpcy5vbk1vZGlmaWVkKGNvbW1hbmQpO1xuICAgICAgY29tbWFuZC5tb2RlbC5mZWF0dXJlLmNoYW5nZWQoKTtcbiAgICB9KTtcbiAgICB0aGlzLm1hcD8uYWRkSW50ZXJhY3Rpb24odGhpcy5tb2RpZnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREcmFnZ2luZyhjb21tYW5kOiBNb2RpZnlGZWF0dXJlQ29tbWFuZCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRlID0gbmV3IFRyYW5zbGF0ZSh7XG4gICAgICBmZWF0dXJlczogbmV3IENvbGxlY3Rpb24oW2NvbW1hbmQubW9kZWwuZmVhdHVyZV0pLFxuICAgICAgY29uZGl0aW9uOiAoZXYpID0+IHtcbiAgICAgICAgY29uc3QgY2xvbmUgPSBjb21tYW5kLm1vZGVsLmZlYXR1cmUuY2xvbmUoKTtcbiAgICAgICAgY2xvbmUuZ2V0R2VvbWV0cnkoKT8uc2NhbGUoMC45OTkpO1xuICAgICAgICByZXR1cm4gY2xvbmUuZ2V0R2VvbWV0cnkoKSEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoZXYuY29vcmRpbmF0ZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMudHJhbnNsYXRlLm9uKCd0cmFuc2xhdGVlbmQnLCAoKSA9PiB0aGlzLm9uTW9kaWZpZWQoY29tbWFuZCkpO1xuICAgIHRoaXMubWFwPy5hZGRJbnRlcmFjdGlvbih0aGlzLnRyYW5zbGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIG9uTW9kaWZpZWQoY29tbWFuZDogTW9kaWZ5RmVhdHVyZUNvbW1hbmQpOiB2b2lkIHtcbiAgICBjb21tYW5kLm5leHQoXG4gICAgICBjb21tYW5kLmZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uXG4gICAgICAgID8gbmV3IEdlb0pTT04oKS53cml0ZUZlYXR1cmUoY29tbWFuZC5tb2RlbC5mZWF0dXJlKVxuICAgICAgICA6IG5ldyBXS1QoKS53cml0ZUZlYXR1cmUoY29tbWFuZC5tb2RlbC5mZWF0dXJlKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWZpbmVMYXllcihhY3Rpb246IChsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IEdldExheWVyUXVlcnkoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKTtcbiAgICBxdWVyeS5yZXN1bHQuc3Vic2NyaWJlKChsKSA9PiBhY3Rpb24obCkpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKHF1ZXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUNhbmNlbGF0aW9uKGV2OiBNb2RpZnlGZWF0dXJlQ29tbWFuZCwgbGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB8IG51bGwpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmUoQ2FuY2VsRmVhdHVyZU1vZGlmaWNhdGlvbkNvbW1hbmQuSUQpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGV2LmZpbmlzaChudWxsKTtcbiAgICAgICAgdGhpcy5jbGVhckludGVyYWN0aW9uKGxheWVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckludGVyYWN0aW9uKGxheWVyOiBMYXllcjxTb3VyY2U8R2VvbWV0cnk+PiB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RpZnkpIHRoaXMubWFwPy5yZW1vdmVJbnRlcmFjdGlvbih0aGlzLm1vZGlmeSk7XG4gICAgaWYgKHRoaXMudHJhbnNsYXRlKSB0aGlzLm1hcD8ucmVtb3ZlSW50ZXJhY3Rpb24odGhpcy50cmFuc2xhdGUpO1xuICB9XG59XG4iXX0=
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Modify, Translate } from 'ol/interaction';
|
|
3
|
+
import { Collection } from 'ol';
|
|
4
|
+
import { MapRenderedEvent } from '../../messages';
|
|
5
|
+
import { FeatureOutputFormat } from '../../models';
|
|
6
|
+
import { GeoJSON, WKT } from 'ol/format';
|
|
7
|
+
import { GetLayerQuery } from '../../messages/queries/get-layer.query';
|
|
8
|
+
import { MapConstants } from '../../models/map.constants';
|
|
9
|
+
import { first } from 'rxjs/operators';
|
|
10
|
+
import { CancelFeatureModificationCommand } from '../../messages/commands/cancel-feature-modification.command';
|
|
11
|
+
import { ModifyFeatureCommand } from '../../messages/commands/modify-feature.command';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "../map-postboy.service";
|
|
14
|
+
export class FeatureModificationService {
|
|
15
|
+
postboy;
|
|
16
|
+
modify;
|
|
17
|
+
translate;
|
|
18
|
+
map;
|
|
19
|
+
constructor(postboy) {
|
|
20
|
+
this.postboy = postboy;
|
|
21
|
+
}
|
|
22
|
+
up() {
|
|
23
|
+
this.observeModification();
|
|
24
|
+
this.observeMapRender();
|
|
25
|
+
}
|
|
26
|
+
observeModification() {
|
|
27
|
+
this.postboy.subscribe(ModifyFeatureCommand.ID).subscribe((ev) => {
|
|
28
|
+
this.defineLayer((l) => {
|
|
29
|
+
if (!l || !this.map) {
|
|
30
|
+
this.clearInteraction(l);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.observeCancelation(ev, l);
|
|
34
|
+
this.initFeature(l, ev.model.feature);
|
|
35
|
+
this.addModify(ev);
|
|
36
|
+
this.addDragging(ev);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
initFeature(layer, feature) {
|
|
41
|
+
layer.getSource()?.clear();
|
|
42
|
+
layer.getSource()?.addFeature(feature);
|
|
43
|
+
}
|
|
44
|
+
addModify(command) {
|
|
45
|
+
this.modify = new Modify({
|
|
46
|
+
features: new Collection([command.model.feature]),
|
|
47
|
+
style: command.style,
|
|
48
|
+
});
|
|
49
|
+
this.modify.on('modifyend', () => {
|
|
50
|
+
this.onModified(command);
|
|
51
|
+
command.model.feature.changed();
|
|
52
|
+
});
|
|
53
|
+
this.map?.addInteraction(this.modify);
|
|
54
|
+
}
|
|
55
|
+
addDragging(command) {
|
|
56
|
+
this.translate = new Translate({
|
|
57
|
+
features: new Collection([command.model.feature]),
|
|
58
|
+
condition: (ev) => {
|
|
59
|
+
const clone = command.model.feature.clone();
|
|
60
|
+
clone.getGeometry()?.scale(0.999);
|
|
61
|
+
return clone.getGeometry().intersectsCoordinate(ev.coordinate);
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
this.translate.on('translateend', () => this.onModified(command));
|
|
65
|
+
this.map?.addInteraction(this.translate);
|
|
66
|
+
}
|
|
67
|
+
onModified(command) {
|
|
68
|
+
command.next(command.format === FeatureOutputFormat.GeoJson
|
|
69
|
+
? new GeoJSON().writeFeature(command.model.feature)
|
|
70
|
+
: new WKT().writeFeature(command.model.feature));
|
|
71
|
+
}
|
|
72
|
+
observeMapRender() {
|
|
73
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
74
|
+
this.map = m.map;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
defineLayer(action) {
|
|
78
|
+
const query = new GetLayerQuery(MapConstants.DrawingLayerId);
|
|
79
|
+
query.result.subscribe((l) => action(l));
|
|
80
|
+
this.postboy.fire(query);
|
|
81
|
+
}
|
|
82
|
+
observeCancelation(ev, layer) {
|
|
83
|
+
return this.postboy
|
|
84
|
+
.subscribe(CancelFeatureModificationCommand.ID)
|
|
85
|
+
.pipe(first())
|
|
86
|
+
.subscribe(() => {
|
|
87
|
+
ev.finish(null);
|
|
88
|
+
this.clearInteraction(layer);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
clearInteraction(layer) {
|
|
92
|
+
if (this.modify)
|
|
93
|
+
this.map?.removeInteraction(this.modify);
|
|
94
|
+
if (this.translate)
|
|
95
|
+
this.map?.removeInteraction(this.translate);
|
|
96
|
+
}
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureModificationService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
98
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureModificationService });
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureModificationService, decorators: [{
|
|
101
|
+
type: Injectable
|
|
102
|
+
}], ctorParameters: () => [{ type: i1.MapPostboyService }] });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL2RyYXdpbmcvZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxJQUFJLENBQUM7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFHdEYsTUFBTSxPQUFPLDBCQUEwQjtJQUtqQjtJQUpaLE1BQU0sQ0FBVTtJQUNoQixTQUFTLENBQWE7SUFDdEIsR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFF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QkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUQsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7dUdBMUZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTW9kaWZ5LCBUcmFuc2xhdGUgfSBmcm9tICdvbC9pbnRlcmFjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBGZWF0dXJlLCBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEZlYXR1cmVPdXRwdXRGb3JtYXQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uLy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgU291cmNlIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kIH0gZnJvbSAnLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWZlYXR1cmUtbW9kaWZpY2F0aW9uLmNvbW1hbmQnO1xuaW1wb3J0IHsgTW9kaWZ5RmVhdHVyZUNvbW1hbmQgfSBmcm9tICcuLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9tb2RpZnktZmVhdHVyZS5jb21tYW5kJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RpZnk/OiBNb2RpZnk7XG4gIHByaXZhdGUgdHJhbnNsYXRlPzogVHJhbnNsYXRlO1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1vZGlmaWNhdGlvbigpO1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTW9kaWZpY2F0aW9uKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TW9kaWZ5RmVhdHVyZUNvbW1hbmQ+KE1vZGlmeUZlYXR1cmVDb21tYW5kLklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICB0aGlzLmRlZmluZUxheWVyKChsKSA9PiB7XG4gICAgICAgIGlmICghbCB8fCAhdGhpcy5tYXApIHtcbiAgICAgICAgICB0aGlzLmNsZWFySW50ZXJhY3Rpb24obCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub2JzZXJ2ZUNhbmNlbGF0aW9uKGV2LCBsKTtcbiAgICAgICAgdGhpcy5pbml0RmVhdHVyZShsLCBldi5tb2RlbC5mZWF0dXJlKTtcbiAgICAgICAgdGhpcy5hZGRNb2RpZnkoZXYpO1xuICAgICAgICB0aGlzLmFkZERyYWdnaW5nKGV2KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmVhdHVyZShsYXllcjogTGF5ZXI8VmVjdG9yU291cmNlPEdlb21ldHJ5Pj4sIGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+KTogdm9pZCB7XG4gICAgbGF5ZXIuZ2V0U291cmNlKCk/LmNsZWFyKCk7XG4gICAgbGF5ZXIuZ2V0U291cmNlKCk/LmFkZEZlYXR1cmUoZmVhdHVyZSk7XG4gIH1cblxuICBwcml2YXRlIGFkZE1vZGlmeShjb21tYW5kOiBNb2RpZnlGZWF0dXJlQ29tbWFuZCk6IHZvaWQge1xuICAgIHRoaXMubW9kaWZ5ID0gbmV3IE1vZGlmeSh7XG4gICAgICBmZWF0dXJlczogbmV3IENvbGxlY3Rpb24oW2NvbW1hbmQubW9kZWwuZmVhdHVyZV0pLFxuICAgICAgc3R5bGU6IGNvbW1hbmQuc3R5bGUsXG4gICAgfSk7XG4gICAgdGhpcy5tb2RpZnkub24oJ21vZGlmeWVuZCcsICgpID0+IHtcbiAgICAgIHRoaXMub25Nb2RpZmllZChjb21tYW5kKTtcbiAgICAgIGNvbW1hbmQubW9kZWwuZmVhdHVyZS5jaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgdGhpcy5tYXA/LmFkZEludGVyYWN0aW9uKHRoaXMubW9kaWZ5KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRHJhZ2dpbmcoY29tbWFuZDogTW9kaWZ5RmVhdHVyZUNvbW1hbmQpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zbGF0ZSA9IG5ldyBUcmFuc2xhdGUoe1xuICAgICAgZmVhdHVyZXM6IG5ldyBDb2xsZWN0aW9uKFtjb21tYW5kLm1vZGVsLmZlYXR1cmVdKSxcbiAgICAgIGNvbmRpdGlvbjogKGV2KSA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lID0gY29tbWFuZC5tb2RlbC5mZWF0dXJlLmNsb25lKCk7XG4gICAgICAgIGNsb25lLmdldEdlb21ldHJ5KCk/LnNjYWxlKDAuOTk5KTtcbiAgICAgICAgcmV0dXJuIGNsb25lLmdldEdlb21ldHJ5KCkhLmludGVyc2VjdHNDb29yZGluYXRlKGV2LmNvb3JkaW5hdGUpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbigndHJhbnNsYXRlZW5kJywgKCkgPT4gdGhpcy5vbk1vZGlmaWVkKGNvbW1hbmQpKTtcbiAgICB0aGlzLm1hcD8uYWRkSW50ZXJhY3Rpb24odGhpcy50cmFuc2xhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vZGlmaWVkKGNvbW1hbmQ6IE1vZGlmeUZlYXR1cmVDb21tYW5kKTogdm9pZCB7XG4gICAgY29tbWFuZC5uZXh0KFxuICAgICAgY29tbWFuZC5mb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgICA/IG5ldyBHZW9KU09OKCkud3JpdGVGZWF0dXJlKGNvbW1hbmQubW9kZWwuZmVhdHVyZSlcbiAgICAgICAgOiBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGNvbW1hbmQubW9kZWwuZmVhdHVyZSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVmaW5lTGF5ZXIoYWN0aW9uOiAobGF5ZXI6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBjb25zdCBxdWVyeSA9IG5ldyBHZXRMYXllclF1ZXJ5KE1hcENvbnN0YW50cy5EcmF3aW5nTGF5ZXJJZCk7XG4gICAgcXVlcnkucmVzdWx0LnN1YnNjcmliZSgobCkgPT4gYWN0aW9uKGwpKTtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShxdWVyeSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDYW5jZWxhdGlvbihldjogTW9kaWZ5RmVhdHVyZUNvbW1hbmQsIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4gfCBudWxsKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlKENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kLklEKVxuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBldi5maW5pc2gobnVsbCk7XG4gICAgICAgIHRoaXMuY2xlYXJJbnRlcmFjdGlvbihsYXllcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbnRlcmFjdGlvbihsYXllcjogTGF5ZXI8U291cmNlPEdlb21ldHJ5Pj4gfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kaWZ5KSB0aGlzLm1hcD8ucmVtb3ZlSW50ZXJhY3Rpb24odGhpcy5tb2RpZnkpO1xuICAgIGlmICh0aGlzLnRyYW5zbGF0ZSkgdGhpcy5tYXA/LnJlbW92ZUludGVyYWN0aW9uKHRoaXMudHJhbnNsYXRlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import * as Sphere from 'ol/sphere';
|
|
2
|
-
export class FeatureService {
|
|
3
|
-
constructor() { }
|
|
4
|
-
static filterFeaturesInArea(query) {
|
|
5
|
-
return query.features.filter((f) => FeatureService.booleanIntersects(query.area, f.getGeometry()));
|
|
6
|
-
}
|
|
7
|
-
static booleanIntersects(g1, g2) {
|
|
8
|
-
if (g2.getType() === 'Point')
|
|
9
|
-
return g1.intersectsCoordinate(g2.getCoordinates());
|
|
10
|
-
if (g2.getType() === 'Circle')
|
|
11
|
-
return g1.intersectsCoordinate(g2.getCenter());
|
|
12
|
-
if (g2.getType() === 'Polygon')
|
|
13
|
-
return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
static calculateArea(g) {
|
|
17
|
-
if (!g)
|
|
18
|
-
return 0;
|
|
19
|
-
return Sphere.getArea(g, { projection: 'EPSG:4326' });
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
import * as Sphere from 'ol/sphere';
|
|
2
|
+
export class FeatureService {
|
|
3
|
+
constructor() { }
|
|
4
|
+
static filterFeaturesInArea(query) {
|
|
5
|
+
return query.features.filter((f) => FeatureService.booleanIntersects(query.area, f.getGeometry()));
|
|
6
|
+
}
|
|
7
|
+
static booleanIntersects(g1, g2) {
|
|
8
|
+
if (g2.getType() === 'Point')
|
|
9
|
+
return g1.intersectsCoordinate(g2.getCoordinates());
|
|
10
|
+
if (g2.getType() === 'Circle')
|
|
11
|
+
return g1.intersectsCoordinate(g2.getCenter());
|
|
12
|
+
if (g2.getType() === 'Polygon')
|
|
13
|
+
return g1.intersectsCoordinate(g2.getInteriorPoint().getCoordinates());
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
static calculateArea(g) {
|
|
17
|
+
if (!g)
|
|
18
|
+
return 0;
|
|
19
|
+
return Sphere.getArea(g, { projection: 'EPSG:4326' });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
22
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxNQUFNLE1BQU0sV0FBVyxDQUFDO0FBSXBDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFVCxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBbUM7UUFDcEUsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRyxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQVksRUFBRSxFQUFZO1FBQ3pELElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBRSxFQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM3RixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUUsRUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssU0FBUztZQUFFLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFFLEVBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDcEgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUF1QjtRQUNqRCxJQUFJLENBQUMsQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaXJjbGUsIEdlb21ldHJ5LCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgKiBhcyBTcGhlcmUgZnJvbSAnb2wvc3BoZXJlJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgUG9seWdvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIEZlYXR1cmVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBzdGF0aWMgZmlsdGVyRmVhdHVyZXNJbkFyZWEocXVlcnk6IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IpOiBGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICByZXR1cm4gcXVlcnkuZmVhdHVyZXMuZmlsdGVyKChmKSA9PiBGZWF0dXJlU2VydmljZS5ib29sZWFuSW50ZXJzZWN0cyhxdWVyeS5hcmVhLCBmLmdldEdlb21ldHJ5KCkhKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBib29sZWFuSW50ZXJzZWN0cyhnMTogR2VvbWV0cnksIGcyOiBHZW9tZXRyeSk6IGJvb2xlYW4ge1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2ludCcpIHJldHVybiBnMS5pbnRlcnNlY3RzQ29vcmRpbmF0ZSgoZzIgYXMgUG9pbnQpLmdldENvb3JkaW5hdGVzKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdDaXJjbGUnKSByZXR1cm4gZzEuaW50ZXJzZWN0c0Nvb3JkaW5hdGUoKGcyIGFzIENpcmNsZSkuZ2V0Q2VudGVyKCkpO1xuICAgIGlmIChnMi5nZXRUeXBlKCkgPT09ICdQb2x5Z29uJykgcmV0dXJuIGcxLmludGVyc2VjdHNDb29yZGluYXRlKChnMiBhcyBQb2x5Z29uKS5nZXRJbnRlcmlvclBvaW50KCkuZ2V0Q29vcmRpbmF0ZXMoKSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjYWxjdWxhdGVBcmVhKGc6IEdlb21ldHJ5IHwgdW5kZWZpbmVkKTogbnVtYmVyIHtcbiAgICBpZiAoIWcpIHJldHVybiAwO1xuICAgIHJldHVybiBTcGhlcmUuZ2V0QXJlYShnLCB7IHByb2plY3Rpb246ICdFUFNHOjQzMjYnIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { MapRenderedEvent } from '../messages';
|
|
3
|
-
import { MapClickEvent } from '../messages/events/map-click.event';
|
|
4
|
-
import { MapConstants } from '../models/map.constants';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./map-postboy.service";
|
|
7
|
-
export class MapClickService {
|
|
8
|
-
postboy;
|
|
9
|
-
map;
|
|
10
|
-
constructor(postboy) {
|
|
11
|
-
this.postboy = postboy;
|
|
12
|
-
}
|
|
13
|
-
up() {
|
|
14
|
-
this.observeMapRender();
|
|
15
|
-
}
|
|
16
|
-
observeMapRender() {
|
|
17
|
-
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
18
|
-
this.map = m.map;
|
|
19
|
-
this.map?.on('singleclick', (e) => {
|
|
20
|
-
this.postboy.fire(this.onClick(e));
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
onClick(ev) {
|
|
25
|
-
const model = new MapClickEvent(ev.coordinate, {}, {});
|
|
26
|
-
this.map?.forEachFeatureAtPixel(ev.pixel, (f, l) => {
|
|
27
|
-
this.getFeatureCollectionWithInner([f])
|
|
28
|
-
.filter((f) => f.getId() != null)
|
|
29
|
-
.forEach((fs) => {
|
|
30
|
-
let layerName = l.get('name');
|
|
31
|
-
if (!model.entities[layerName])
|
|
32
|
-
model.entities[layerName] = [];
|
|
33
|
-
if (!model.features[layerName])
|
|
34
|
-
model.features[layerName] = [];
|
|
35
|
-
model.entities[layerName].push({ id: fs.getId(), ...fs.get(MapConstants.FeatureInfo) });
|
|
36
|
-
model.features[layerName].push(fs);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
return model;
|
|
40
|
-
}
|
|
41
|
-
getFeatureCollectionWithInner(features) {
|
|
42
|
-
const result = [];
|
|
43
|
-
features?.forEach((f) => {
|
|
44
|
-
const innerFeatures = f.get('features');
|
|
45
|
-
innerFeatures?.length ? result.push(...innerFeatures) : result.push(f);
|
|
46
|
-
});
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
-
type: Injectable
|
|
54
|
-
}], ctorParameters:
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MapRenderedEvent } from '../messages';
|
|
3
|
+
import { MapClickEvent } from '../messages/events/map-click.event';
|
|
4
|
+
import { MapConstants } from '../models/map.constants';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./map-postboy.service";
|
|
7
|
+
export class MapClickService {
|
|
8
|
+
postboy;
|
|
9
|
+
map;
|
|
10
|
+
constructor(postboy) {
|
|
11
|
+
this.postboy = postboy;
|
|
12
|
+
}
|
|
13
|
+
up() {
|
|
14
|
+
this.observeMapRender();
|
|
15
|
+
}
|
|
16
|
+
observeMapRender() {
|
|
17
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
18
|
+
this.map = m.map;
|
|
19
|
+
this.map?.on('singleclick', (e) => {
|
|
20
|
+
this.postboy.fire(this.onClick(e));
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
onClick(ev) {
|
|
25
|
+
const model = new MapClickEvent(ev.coordinate, {}, {});
|
|
26
|
+
this.map?.forEachFeatureAtPixel(ev.pixel, (f, l) => {
|
|
27
|
+
this.getFeatureCollectionWithInner([f])
|
|
28
|
+
.filter((f) => f.getId() != null)
|
|
29
|
+
.forEach((fs) => {
|
|
30
|
+
let layerName = l.get('name');
|
|
31
|
+
if (!model.entities[layerName])
|
|
32
|
+
model.entities[layerName] = [];
|
|
33
|
+
if (!model.features[layerName])
|
|
34
|
+
model.features[layerName] = [];
|
|
35
|
+
model.entities[layerName].push({ id: fs.getId(), ...fs.get(MapConstants.FeatureInfo) });
|
|
36
|
+
model.features[layerName].push(fs);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return model;
|
|
40
|
+
}
|
|
41
|
+
getFeatureCollectionWithInner(features) {
|
|
42
|
+
const result = [];
|
|
43
|
+
features?.forEach((f) => {
|
|
44
|
+
const innerFeatures = f.get('features');
|
|
45
|
+
innerFeatures?.length ? result.push(...innerFeatures) : result.push(f);
|
|
46
|
+
});
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapClickService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapClickService });
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapClickService, decorators: [{
|
|
53
|
+
type: Injectable
|
|
54
|
+
}], ctorParameters: () => [{ type: i1.MapPostboyService }] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHdkQsTUFBTSxPQUFPLGVBQWU7SUFHTjtJQUZaLEdBQUcsQ0FBTztJQUVsQixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUFHLENBQUM7SUFFbEQsRUFBRTtRQUNBLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQTRCO1FBQ2xDLE1BQU0sS0FBSyxHQUFrQixJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBc0IsQ0FBQyxDQUFDO2lCQUN6RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUM7aUJBQ2hDLE9BQU8sQ0FBQyxDQUFDLEVBQXFCLEVBQUUsRUFBRTtnQkFDakMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO29CQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7b0JBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9ELEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFFBQTZCO1FBQ2pFLE1BQU0sTUFBTSxHQUF3QixFQUFFLENBQUM7UUFDdkMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUF3QixDQUFDO1lBQy9ELGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBekNVLGVBQWU7MkdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCwgTWFwQnJvd3NlckV2ZW50IH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBDbGlja1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgICAgdGhpcy5tYXA/Lm9uKCdzaW5nbGVjbGljaycsIChlKSA9PiB7XG4gICAgICAgIHRoaXMucG9zdGJveS5maXJlKHRoaXMub25DbGljayhlKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1hcEJyb3dzZXJFdmVudDxVSUV2ZW50Pik6IE1hcENsaWNrRXZlbnQge1xuICAgIGNvbnN0IG1vZGVsOiBNYXBDbGlja0V2ZW50ID0gbmV3IE1hcENsaWNrRXZlbnQoZXYuY29vcmRpbmF0ZSwge30sIHt9KTtcbiAgICB0aGlzLm1hcD8uZm9yRWFjaEZlYXR1cmVBdFBpeGVsKGV2LnBpeGVsLCAoZiwgbCkgPT4ge1xuICAgICAgdGhpcy5nZXRGZWF0dXJlQ29sbGVjdGlvbldpdGhJbm5lcihbZiBhcyBGZWF0dXJlPEdlb21ldHJ5Pl0pXG4gICAgICAgIC5maWx0ZXIoKGYpID0+IGYuZ2V0SWQoKSAhPSBudWxsKVxuICAgICAgICAuZm9yRWFjaCgoZnM6IEZlYXR1cmU8R2VvbWV0cnk+KSA9PiB7XG4gICAgICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICAgICAgaWYgKCFtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdKSBtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgaWYgKCFtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdKSBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgbW9kZWwuZW50aXRpZXNbbGF5ZXJOYW1lXS5wdXNoKHsgaWQ6IGZzLmdldElkKCkhLCAuLi5mcy5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KTtcbiAgICAgICAgICBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdLnB1c2goZnMpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmVDb2xsZWN0aW9uV2l0aElubmVyKGZlYXR1cmVzOiBGZWF0dXJlPEdlb21ldHJ5PltdKTogRmVhdHVyZTxHZW9tZXRyeT5bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBGZWF0dXJlPEdlb21ldHJ5PltdID0gW107XG4gICAgZmVhdHVyZXM/LmZvckVhY2goKGYpID0+IHtcbiAgICAgIGNvbnN0IGlubmVyRmVhdHVyZXMgPSBmLmdldCgnZmVhdHVyZXMnKSBhcyBGZWF0dXJlPEdlb21ldHJ5PltdO1xuICAgICAgaW5uZXJGZWF0dXJlcz8ubGVuZ3RoID8gcmVzdWx0LnB1c2goLi4uaW5uZXJGZWF0dXJlcykgOiByZXN1bHQucHVzaChmKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { FitToPolygonsCommand, MapRenderedEvent } from '../messages';
|
|
3
|
-
import { FitToFeaturesCommand } from '../messages/commands/fit-to-features.command';
|
|
4
|
-
import { createEmpty, extend } from 'ol/extent';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./map-postboy.service";
|
|
7
|
-
export class MapFeatureService {
|
|
8
|
-
postboy;
|
|
9
|
-
map;
|
|
10
|
-
fitPolygonsWaiting;
|
|
11
|
-
constructor(postboy) {
|
|
12
|
-
this.postboy = postboy;
|
|
13
|
-
}
|
|
14
|
-
up() {
|
|
15
|
-
this.observeMapRender();
|
|
16
|
-
this.observeFitToFeatures();
|
|
17
|
-
this.observeFitToPolygons();
|
|
18
|
-
}
|
|
19
|
-
observeMapRender() {
|
|
20
|
-
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
21
|
-
this.map = m.map;
|
|
22
|
-
if (this.fitPolygonsWaiting)
|
|
23
|
-
this.postboy.fire(this.fitPolygonsWaiting);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
observeFitToFeatures() {
|
|
27
|
-
this.postboy.subscribe(FitToFeaturesCommand.ID).subscribe((cmd) => {
|
|
28
|
-
this.fitToGeometries(cmd.features.map((f) => f.getGeometry()), cmd.zoomAfter);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
observeFitToPolygons() {
|
|
32
|
-
this.postboy.subscribe(FitToPolygonsCommand.ID).subscribe((cmd) => {
|
|
33
|
-
if (!this.map) {
|
|
34
|
-
this.fitPolygonsWaiting = cmd;
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
this.fitPolygonsWaiting = undefined;
|
|
38
|
-
this.fitToGeometries(cmd.features.map((f) => f.feature.getGeometry()), cmd.zoomAfter);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
fitToGeometries(geometries, zoomAfter) {
|
|
42
|
-
if (!geometries?.length || !this.map)
|
|
43
|
-
return;
|
|
44
|
-
const extent = createEmpty();
|
|
45
|
-
geometries.forEach((g) => extend(extent, g.getExtent()));
|
|
46
|
-
this.map.getView().fit(extent);
|
|
47
|
-
this.map.getView().setZoom(this.map.getView().getZoom() + zoomAfter);
|
|
48
|
-
}
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
-
type: Injectable
|
|
54
|
-
}], ctorParameters:
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { FitToPolygonsCommand, MapRenderedEvent } from '../messages';
|
|
3
|
+
import { FitToFeaturesCommand } from '../messages/commands/fit-to-features.command';
|
|
4
|
+
import { createEmpty, extend } from 'ol/extent';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./map-postboy.service";
|
|
7
|
+
export class MapFeatureService {
|
|
8
|
+
postboy;
|
|
9
|
+
map;
|
|
10
|
+
fitPolygonsWaiting;
|
|
11
|
+
constructor(postboy) {
|
|
12
|
+
this.postboy = postboy;
|
|
13
|
+
}
|
|
14
|
+
up() {
|
|
15
|
+
this.observeMapRender();
|
|
16
|
+
this.observeFitToFeatures();
|
|
17
|
+
this.observeFitToPolygons();
|
|
18
|
+
}
|
|
19
|
+
observeMapRender() {
|
|
20
|
+
this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
|
|
21
|
+
this.map = m.map;
|
|
22
|
+
if (this.fitPolygonsWaiting)
|
|
23
|
+
this.postboy.fire(this.fitPolygonsWaiting);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
observeFitToFeatures() {
|
|
27
|
+
this.postboy.subscribe(FitToFeaturesCommand.ID).subscribe((cmd) => {
|
|
28
|
+
this.fitToGeometries(cmd.features.map((f) => f.getGeometry()), cmd.zoomAfter);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
observeFitToPolygons() {
|
|
32
|
+
this.postboy.subscribe(FitToPolygonsCommand.ID).subscribe((cmd) => {
|
|
33
|
+
if (!this.map) {
|
|
34
|
+
this.fitPolygonsWaiting = cmd;
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.fitPolygonsWaiting = undefined;
|
|
38
|
+
this.fitToGeometries(cmd.features.map((f) => f.feature.getGeometry()), cmd.zoomAfter);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
fitToGeometries(geometries, zoomAfter) {
|
|
42
|
+
if (!geometries?.length || !this.map)
|
|
43
|
+
return;
|
|
44
|
+
const extent = createEmpty();
|
|
45
|
+
geometries.forEach((g) => extend(extent, g.getExtent()));
|
|
46
|
+
this.map.getView().fit(extent);
|
|
47
|
+
this.map.getView().setZoom(this.map.getView().getZoom() + zoomAfter);
|
|
48
|
+
}
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapFeatureService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapFeatureService });
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapFeatureService, decorators: [{
|
|
53
|
+
type: Injectable
|
|
54
|
+
}], ctorParameters: () => [{ type: i1.MapPostboyService }] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZlYXR1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBSVI7SUFIWixHQUFHLENBQU87SUFDVixrQkFBa0IsQ0FBd0I7SUFFbEQsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1RSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakIsSUFBSSxJQUFJLENBQUMsa0JBQWtCO2dCQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBdUIsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUcsQ0FBQyxFQUN6QyxHQUFHLENBQUMsU0FBUyxDQUNkLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQXVCLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztnQkFDOUIsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLENBQ2xCLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRyxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxTQUFTLENBQ2QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFzQixFQUFFLFNBQWlCO1FBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQzdDLE1BQU0sTUFBTSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7dUdBaERVLGlCQUFpQjsyR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlLCBQb3N0Ym95R2VuZXJpY01lc3NhZ2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBGaXRUb1BvbHlnb25zQ29tbWFuZCwgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IGNyZWF0ZUVtcHR5LCBleHRlbmQgfSBmcm9tICdvbC9leHRlbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwRmVhdHVyZVNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcbiAgcHJpdmF0ZSBmaXRQb2x5Z29uc1dhaXRpbmc/OiBGaXRUb1BvbHlnb25zQ29tbWFuZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICAgIHRoaXMub2JzZXJ2ZUZpdFRvRmVhdHVyZXMoKTtcbiAgICB0aGlzLm9ic2VydmVGaXRUb1BvbHlnb25zKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVNYXBSZW5kZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICBpZiAodGhpcy5maXRQb2x5Z29uc1dhaXRpbmcpIHRoaXMucG9zdGJveS5maXJlKHRoaXMuZml0UG9seWdvbnNXYWl0aW5nKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZpdFRvRmVhdHVyZXMoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxGaXRUb0ZlYXR1cmVzQ29tbWFuZD4oRml0VG9GZWF0dXJlc0NvbW1hbmQuSUQpLnN1YnNjcmliZSgoY21kKSA9PiB7XG4gICAgICB0aGlzLmZpdFRvR2VvbWV0cmllcyhcbiAgICAgICAgY21kLmZlYXR1cmVzLm1hcCgoZikgPT4gZi5nZXRHZW9tZXRyeSgpISksXG4gICAgICAgIGNtZC56b29tQWZ0ZXIsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRml0VG9Qb2x5Z29ucygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEZpdFRvUG9seWdvbnNDb21tYW5kPihGaXRUb1BvbHlnb25zQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjbWQpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHtcbiAgICAgICAgdGhpcy5maXRQb2x5Z29uc1dhaXRpbmcgPSBjbWQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZml0UG9seWdvbnNXYWl0aW5nID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5maXRUb0dlb21ldHJpZXMoXG4gICAgICAgIGNtZC5mZWF0dXJlcy5tYXAoKGYpID0+IGYuZmVhdHVyZS5nZXRHZW9tZXRyeSgpISksXG4gICAgICAgIGNtZC56b29tQWZ0ZXIsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaXRUb0dlb21ldHJpZXMoZ2VvbWV0cmllczogR2VvbWV0cnlbXSwgem9vbUFmdGVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIWdlb21ldHJpZXM/Lmxlbmd0aCB8fCAhdGhpcy5tYXApIHJldHVybjtcbiAgICBjb25zdCBleHRlbnQgPSBjcmVhdGVFbXB0eSgpO1xuICAgIGdlb21ldHJpZXMuZm9yRWFjaCgoZykgPT4gZXh0ZW5kKGV4dGVudCwgZy5nZXRFeHRlbnQoKSkpO1xuICAgIHRoaXMubWFwLmdldFZpZXcoKS5maXQoZXh0ZW50KTtcbiAgICB0aGlzLm1hcC5nZXRWaWV3KCkuc2V0Wm9vbSh0aGlzLm1hcC5nZXRWaWV3KCkuZ2V0Wm9vbSgpISArIHpvb21BZnRlcik7XG4gIH1cbn1cbiJdfQ==
|