@igo2/geo 1.14.2 → 1.14.3
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/esm2020/igo2-geo.mjs +4 -4
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +300 -300
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +305 -305
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -246
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +79 -79
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +208 -208
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +78 -78
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +216 -216
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +94 -94
- package/esm2020/lib/catalog/catalog.module.mjs +52 -52
- package/esm2020/lib/catalog/index.mjs +4 -4
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +94 -94
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +15 -15
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.service.mjs +605 -605
- package/esm2020/lib/catalog/shared/index.mjs +4 -4
- package/esm2020/lib/datasource/datasource.module.mjs +21 -21
- package/esm2020/lib/datasource/index.mjs +2 -2
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +430 -430
- package/esm2020/lib/datasource/shared/datasource.service.mjs +235 -235
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +144 -144
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +108 -108
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +14 -14
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +2 -2
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +28 -28
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +42 -42
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +56 -56
- package/esm2020/lib/datasource/shared/datasources/index.mjs +35 -35
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +27 -27
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +11 -11
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +48 -48
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +14 -14
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +53 -53
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +71 -71
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +151 -151
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -205
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +206 -206
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +15 -15
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +8 -8
- package/esm2020/lib/datasource/shared/index.mjs +4 -4
- package/esm2020/lib/datasource/shared/options/index.mjs +4 -4
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +14 -14
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +80 -80
- package/esm2020/lib/datasource/shared/options/options.service.mjs +2 -2
- package/esm2020/lib/datasource/utils/esri-style-generator.mjs +356 -356
- package/esm2020/lib/datasource/utils/index.mjs +2 -2
- package/esm2020/lib/datasource/utils/tilegrid.mjs +19 -19
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +223 -223
- package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +289 -289
- package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +195 -195
- package/esm2020/lib/directions/directions-results/index.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +2 -2
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +15 -15
- package/esm2020/lib/directions/directions-sources/index.mjs +4 -4
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +98 -98
- package/esm2020/lib/directions/directions.component.mjs +310 -310
- package/esm2020/lib/directions/directions.module.mjs +101 -101
- package/esm2020/lib/directions/index.mjs +6 -6
- package/esm2020/lib/directions/shared/directions-source.service.mjs +16 -16
- package/esm2020/lib/directions/shared/directions.enum.mjs +27 -27
- package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.service.mjs +28 -28
- package/esm2020/lib/directions/shared/directions.utils.mjs +508 -508
- package/esm2020/lib/directions/shared/index.mjs +5 -5
- package/esm2020/lib/directions/shared/store.mjs +23 -23
- package/esm2020/lib/download/download-button/download-button.component.mjs +60 -60
- package/esm2020/lib/download/download-button/index.mjs +1 -1
- package/esm2020/lib/download/download.module.mjs +41 -41
- package/esm2020/lib/download/index.mjs +2 -2
- package/esm2020/lib/download/shared/download.interface.mjs +1 -1
- package/esm2020/lib/download/shared/download.service.mjs +64 -64
- package/esm2020/lib/download/shared/index.mjs +2 -2
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +54 -54
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +590 -590
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +47 -47
- package/esm2020/lib/draw/draw/draw.component.mjs +1298 -1298
- package/esm2020/lib/draw/draw/draw.module.mjs +112 -112
- package/esm2020/lib/draw/drawingTool.module.mjs +19 -19
- package/esm2020/lib/draw/index.mjs +2 -2
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +26 -26
- package/esm2020/lib/draw/shared/draw-style.service.mjs +189 -189
- package/esm2020/lib/draw/shared/draw.enum.mjs +36 -36
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.utils.mjs +121 -121
- package/esm2020/lib/draw/shared/index.mjs +5 -5
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +404 -404
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +53 -53
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +47 -47
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +111 -111
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +33 -33
- package/esm2020/lib/feature/feature.module.mjs +27 -27
- package/esm2020/lib/feature/index.mjs +3 -3
- package/esm2020/lib/feature/shared/feature.enums.mjs +8 -8
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.utils.mjs +346 -346
- package/esm2020/lib/feature/shared/index.mjs +6 -6
- package/esm2020/lib/feature/shared/store.mjs +123 -123
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +112 -112
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +93 -93
- package/esm2020/lib/feature/shared/strategies/index.mjs +5 -5
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +103 -103
- package/esm2020/lib/feature/shared/strategies/loading.mjs +132 -132
- package/esm2020/lib/feature/shared/strategies/selection.mjs +369 -369
- package/esm2020/lib/feature/shared/strategies.utils.mjs +36 -36
- package/esm2020/lib/filter/filter.module.mjs +288 -288
- package/esm2020/lib/filter/index.mjs +15 -15
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +139 -139
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +644 -644
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1301 -1301
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +176 -176
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +897 -897
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +58 -58
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +306 -306
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +30 -30
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +43 -43
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +54 -54
- package/esm2020/lib/filter/shared/index.mjs +11 -11
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +71 -71
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +29 -29
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.mjs +691 -691
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +45 -45
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +22 -22
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +268 -268
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +12 -12
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.service.mjs +106 -106
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1088 -1088
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +207 -207
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +143 -143
- package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +77 -77
- package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +733 -733
- package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +118 -118
- package/esm2020/lib/filter/time-filter-list/index.mjs +2 -2
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +30 -30
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +38 -38
- package/esm2020/lib/geo.module.mjs +101 -101
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +520 -520
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +188 -188
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +63 -63
- package/esm2020/lib/geometry/geometry.module.mjs +26 -26
- package/esm2020/lib/geometry/index.mjs +3 -3
- package/esm2020/lib/geometry/shared/controls/draw.mjs +313 -313
- package/esm2020/lib/geometry/shared/controls/index.mjs +3 -3
- package/esm2020/lib/geometry/shared/controls/modify.mjs +520 -520
- package/esm2020/lib/geometry/shared/controls/slice.mjs +176 -176
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +25 -25
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +121 -121
- package/esm2020/lib/geometry/shared/index.mjs +4 -4
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +63 -63
- package/esm2020/lib/import-export/export-button/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +1219 -1219
- package/esm2020/lib/import-export/import-export/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export.module.mjs +95 -95
- package/esm2020/lib/import-export/index.mjs +4 -4
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +134 -134
- package/esm2020/lib/import-export/shared/export.errors.mjs +14 -14
- package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.service.mjs +194 -194
- package/esm2020/lib/import-export/shared/export.type.mjs +3 -3
- package/esm2020/lib/import-export/shared/export.utils.mjs +54 -54
- package/esm2020/lib/import-export/shared/import.errors.mjs +38 -38
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.service.mjs +214 -214
- package/esm2020/lib/import-export/shared/import.utils.mjs +234 -234
- package/esm2020/lib/import-export/shared/index.mjs +10 -10
- package/esm2020/lib/import-export/style-list/index.mjs +4 -4
- package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
- package/esm2020/lib/import-export/style-list/style-list.module.mjs +22 -22
- package/esm2020/lib/import-export/style-list/style-list.provider.mjs +20 -20
- package/esm2020/lib/import-export/style-list/style-list.service.mjs +50 -50
- package/esm2020/lib/layer/index.mjs +10 -10
- package/esm2020/lib/layer/layer-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +299 -299
- package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +387 -387
- package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +83 -83
- package/esm2020/lib/layer/layer-legend-list/index.mjs +2 -2
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +47 -47
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +194 -194
- package/esm2020/lib/layer/layer-list/index.mjs +3 -3
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +58 -58
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1008 -1008
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +18 -18
- package/esm2020/lib/layer/layer-list-tool/index.mjs +4 -4
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +164 -164
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +6 -6
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +21 -21
- package/esm2020/lib/layer/layer.module.mjs +184 -184
- package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2020/lib/layer/shared/index.mjs +6 -6
- package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
- package/esm2020/lib/layer/shared/layer.service.mjs +185 -185
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +67 -67
- package/esm2020/lib/layer/shared/layers/index.mjs +12 -12
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -17
- package/esm2020/lib/layer/shared/layers/layer.mjs +163 -163
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +46 -46
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +377 -377
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +103 -103
- package/esm2020/lib/layer/shared/style.service.mjs +355 -355
- package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
- package/esm2020/lib/layer/style-modal/index.mjs +1 -1
- package/esm2020/lib/layer/style-modal/style-modal.component.mjs +287 -287
- package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +58 -58
- package/esm2020/lib/layer/utils/image-watcher.mjs +61 -61
- package/esm2020/lib/layer/utils/index.mjs +5 -5
- package/esm2020/lib/layer/utils/layer.utils.mjs +9 -9
- package/esm2020/lib/layer/utils/outputLegend.mjs +26 -26
- package/esm2020/lib/layer/utils/tile-watcher.mjs +49 -49
- package/esm2020/lib/layer/utils/vector-watcher.mjs +47 -47
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +19 -19
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +96 -96
- package/esm2020/lib/map/baselayers-switcher/index.mjs +2 -2
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +141 -142
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +78 -78
- package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
- package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +62 -62
- package/esm2020/lib/map/home-extent-button/index.mjs +1 -1
- package/esm2020/lib/map/index.mjs +13 -13
- package/esm2020/lib/map/info-section/index.mjs +1 -1
- package/esm2020/lib/map/info-section/info-section.component.mjs +29 -29
- package/esm2020/lib/map/map-browser/index.mjs +1 -1
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +65 -65
- package/esm2020/lib/map/map-center/index.mjs +1 -1
- package/esm2020/lib/map/map-center/map-center.component.mjs +49 -49
- package/esm2020/lib/map/map.module.mjs +126 -126
- package/esm2020/lib/map/menu-button/index.mjs +1 -1
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +61 -61
- package/esm2020/lib/map/offline-button/index.mjs +1 -1
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +75 -75
- package/esm2020/lib/map/rotation-button/index.mjs +1 -1
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +69 -69
- package/esm2020/lib/map/shared/controllers/controller.mjs +41 -41
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +307 -307
- package/esm2020/lib/map/shared/controllers/index.mjs +3 -3
- package/esm2020/lib/map/shared/controllers/view.mjs +350 -350
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +502 -502
- package/esm2020/lib/map/shared/index.mjs +13 -13
- package/esm2020/lib/map/shared/linkedLayers.utils.mjs +237 -237
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +106 -106
- package/esm2020/lib/map/shared/map.enums.mjs +5 -5
- package/esm2020/lib/map/shared/map.interface.mjs +1 -1
- package/esm2020/lib/map/shared/map.mjs +406 -406
- package/esm2020/lib/map/shared/map.service.mjs +28 -28
- package/esm2020/lib/map/shared/map.utils.mjs +462 -462
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +162 -162
- package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2020/lib/map/shared/projection.service.mjs +64 -64
- package/esm2020/lib/map/shared/projection.utils.mjs +63 -63
- package/esm2020/lib/map/swipe-control/index.mjs +1 -1
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +192 -192
- package/esm2020/lib/map/utils/layer-watcher.mjs +78 -78
- package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +113 -113
- package/esm2020/lib/map/zoom-button/index.mjs +1 -1
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +39 -39
- package/esm2020/lib/measure/index.mjs +3 -3
- package/esm2020/lib/measure/measure.module.mjs +19 -19
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +36 -36
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +179 -179
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +139 -139
- package/esm2020/lib/measure/measurer/measurer.component.mjs +1041 -1041
- package/esm2020/lib/measure/measurer/measurer.module.mjs +93 -93
- package/esm2020/lib/measure/shared/index.mjs +3 -3
- package/esm2020/lib/measure/shared/measure.enum.mjs +36 -36
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.utils.mjs +488 -488
- package/esm2020/lib/metadata/index.mjs +2 -2
- package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +133 -133
- package/esm2020/lib/metadata/metadata.module.mjs +54 -54
- package/esm2020/lib/metadata/shared/index.mjs +2 -2
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.service.mjs +18 -18
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +104 -104
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +5 -5
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +166 -166
- package/esm2020/lib/offline/geoDB/index.mjs +4 -4
- package/esm2020/lib/offline/index.mjs +2 -2
- package/esm2020/lib/offline/shared/geo-network.service.mjs +65 -65
- package/esm2020/lib/offline/shared/index.mjs +1 -1
- package/esm2020/lib/overlay/index.mjs +1 -1
- package/esm2020/lib/overlay/overlay.module.mjs +22 -22
- package/esm2020/lib/overlay/shared/index.mjs +6 -6
- package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +68 -68
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +32 -32
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +7 -7
- package/esm2020/lib/overlay/shared/overlay.mjs +129 -129
- package/esm2020/lib/overlay/shared/overlay.service.mjs +26 -26
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +102 -102
- package/esm2020/lib/print/index.mjs +3 -3
- package/esm2020/lib/print/print/print.component.mjs +125 -125
- package/esm2020/lib/print/print-form/index.mjs +1 -1
- package/esm2020/lib/print/print-form/print-form.component.mjs +427 -427
- package/esm2020/lib/print/print.module.mjs +64 -64
- package/esm2020/lib/print/shared/geopdf.mjs +57 -57
- package/esm2020/lib/print/shared/index.mjs +4 -4
- package/esm2020/lib/print/shared/print.interface.mjs +1 -1
- package/esm2020/lib/print/shared/print.service.mjs +933 -933
- package/esm2020/lib/print/shared/print.type.mjs +29 -29
- package/esm2020/lib/query/index.mjs +1 -1
- package/esm2020/lib/query/query.module.mjs +28 -28
- package/esm2020/lib/query/shared/index.mjs +6 -6
- package/esm2020/lib/query/shared/query-search-source.mjs +34 -34
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +21 -21
- package/esm2020/lib/query/shared/query.directive.mjs +260 -260
- package/esm2020/lib/query/shared/query.enums.mjs +29 -29
- package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2020/lib/query/shared/query.service.mjs +732 -732
- package/esm2020/lib/query/shared/query.utils.mjs +36 -36
- package/esm2020/lib/search/index.mjs +11 -11
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +511 -511
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +74 -74
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +34 -34
- package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +117 -117
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +370 -370
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +123 -123
- package/esm2020/lib/search/search-results/search-results.component.mjs +339 -339
- package/esm2020/lib/search/search-results/search-results.module.mjs +103 -103
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +122 -122
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +55 -55
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +441 -441
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +59 -59
- package/esm2020/lib/search/search.module.mjs +66 -66
- package/esm2020/lib/search/shared/index.mjs +8 -8
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +321 -321
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +19 -19
- package/esm2020/lib/search/shared/search-source.service.mjs +46 -46
- package/esm2020/lib/search/shared/search.enums.mjs +3 -3
- package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/search.service.mjs +120 -120
- package/esm2020/lib/search/shared/search.utils.mjs +90 -90
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.mjs +152 -152
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +39 -39
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.mjs +766 -766
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +65 -65
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.mjs +319 -319
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +39 -39
- package/esm2020/lib/search/shared/sources/index.mjs +17 -17
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.mjs +251 -251
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +22 -22
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.mjs +178 -178
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +424 -424
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +40 -40
- package/esm2020/lib/toast/index.mjs +1 -1
- package/esm2020/lib/toast/toast.component.mjs +112 -112
- package/esm2020/lib/toast/toast.module.mjs +44 -44
- package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
- package/esm2020/lib/utils/commonVectorStyle.mjs +74 -74
- package/esm2020/lib/utils/googleLinks.mjs +12 -12
- package/esm2020/lib/utils/id-generator.mjs +109 -109
- package/esm2020/lib/utils/index.mjs +5 -5
- package/esm2020/lib/utils/osmLinks.mjs +9 -9
- package/esm2020/lib/wkt/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/wkt.service.mjs +224 -224
- package/esm2020/lib/wkt/wkt.module.mjs +21 -21
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +47 -47
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +35 -35
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +2 -2
- package/esm2020/lib/workspace/index.mjs +7 -7
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +279 -279
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +656 -656
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +34 -34
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +149 -149
- package/esm2020/lib/workspace/shared/index.mjs +7 -7
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +34 -34
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +149 -149
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +259 -259
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +23 -23
- package/esm2020/lib/workspace/widgets/index.mjs +3 -3
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +46 -46
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +35 -35
- package/esm2020/lib/workspace/widgets/widgets.mjs +14 -14
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +132 -132
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +27 -27
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +112 -112
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +27 -27
- package/esm2020/lib/workspace/workspace.module.mjs +61 -61
- package/esm2020/public_api.mjs +54 -54
- package/fesm2015/igo2-geo.mjs +44986 -44986
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +43029 -43030
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +126 -126
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +80 -80
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +105 -105
- package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +65 -65
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
- package/lib/catalog/catalog.module.d.ts +14 -14
- package/lib/catalog/index.d.ts +4 -4
- package/lib/catalog/shared/catalog.abstract.d.ts +50 -50
- package/lib/catalog/shared/catalog.enum.d.ts +14 -14
- package/lib/catalog/shared/catalog.interface.d.ts +66 -66
- package/lib/catalog/shared/catalog.service.d.ts +36 -36
- package/lib/catalog/shared/index.d.ts +4 -4
- package/lib/datasource/datasource.module.d.ts +8 -8
- package/lib/datasource/index.d.ts +2 -2
- package/lib/datasource/shared/capabilities.service.d.ts +37 -37
- package/lib/datasource/shared/datasource.service.d.ts +37 -37
- package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
- package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
- package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
- package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +100 -100
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +18 -18
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/index.d.ts +35 -35
- package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
- package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +31 -31
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +32 -32
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
- package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/index.d.ts +4 -4
- package/lib/datasource/shared/options/index.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
- package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
- package/lib/datasource/shared/options/options.service.d.ts +6 -6
- package/lib/datasource/utils/esri-style-generator.d.ts +21 -21
- package/lib/datasource/utils/index.d.ts +2 -2
- package/lib/datasource/utils/tilegrid.d.ts +2 -2
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +30 -30
- package/lib/directions/directions-buttons/index.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
- package/lib/directions/directions-inputs/index.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
- package/lib/directions/directions-results/index.d.ts +1 -1
- package/lib/directions/directions-sources/directions-source.d.ts +7 -7
- package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
- package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
- package/lib/directions/directions-sources/index.d.ts +4 -4
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +23 -23
- package/lib/directions/directions.component.d.ts +56 -56
- package/lib/directions/directions.module.d.ts +26 -26
- package/lib/directions/index.d.ts +6 -6
- package/lib/directions/shared/directions-source.service.d.ts +11 -11
- package/lib/directions/shared/directions.enum.d.ts +22 -22
- package/lib/directions/shared/directions.interface.d.ts +126 -126
- package/lib/directions/shared/directions.service.d.ts +13 -13
- package/lib/directions/shared/directions.utils.d.ts +42 -42
- package/lib/directions/shared/index.d.ts +5 -5
- package/lib/directions/shared/store.d.ts +18 -18
- package/lib/download/download-button/download-button.component.d.ts +18 -18
- package/lib/download/download-button/index.d.ts +1 -1
- package/lib/download/download.module.d.ts +14 -14
- package/lib/download/index.d.ts +2 -2
- package/lib/download/shared/download.interface.d.ts +10 -10
- package/lib/download/shared/download.service.d.ts +11 -11
- package/lib/download/shared/index.d.ts +2 -2
- package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
- package/lib/draw/draw/draw-popup.component.d.ts +63 -63
- package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
- package/lib/draw/draw/draw.component.d.ts +239 -239
- package/lib/draw/draw/draw.module.d.ts +34 -34
- package/lib/draw/drawingTool.module.d.ts +7 -7
- package/lib/draw/index.d.ts +2 -2
- package/lib/draw/shared/draw-icon.service.d.ts +12 -12
- package/lib/draw/shared/draw-style.service.d.ts +36 -36
- package/lib/draw/shared/draw.enum.d.ts +32 -32
- package/lib/draw/shared/draw.interface.d.ts +40 -40
- package/lib/draw/shared/draw.utils.d.ts +35 -35
- package/lib/draw/shared/index.d.ts +5 -5
- package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
- package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
- package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
- package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
- package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
- package/lib/feature/feature.module.d.ts +9 -9
- package/lib/feature/index.d.ts +3 -3
- package/lib/feature/shared/feature.enums.d.ts +7 -7
- package/lib/feature/shared/feature.interfaces.d.ts +74 -74
- package/lib/feature/shared/feature.utils.d.ts +104 -104
- package/lib/feature/shared/index.d.ts +6 -6
- package/lib/feature/shared/store.d.ts +71 -71
- package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
- package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
- package/lib/feature/shared/strategies/index.d.ts +5 -5
- package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
- package/lib/feature/shared/strategies/loading.d.ts +75 -75
- package/lib/feature/shared/strategies/selection.d.ts +176 -176
- package/lib/feature/shared/strategies.utils.d.ts +17 -17
- package/lib/filter/filter.module.d.ts +53 -53
- package/lib/filter/index.d.ts +15 -15
- package/lib/filter/ogc-filter-button/index.d.ts +1 -1
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
- package/lib/filter/ogc-filter-form/index.d.ts +1 -1
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
- package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
- package/lib/filter/ogc-filter-time/index.d.ts +2 -2
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
- package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
- package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
- package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
- package/lib/filter/shared/index.d.ts +11 -11
- package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
- package/lib/filter/shared/ogc-filter.d.ts +29 -29
- package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
- package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
- package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
- package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
- package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
- package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
- package/lib/filter/shared/time-filter.enum.d.ts +10 -10
- package/lib/filter/shared/time-filter.interface.d.ts +29 -29
- package/lib/filter/shared/time-filter.service.d.ts +11 -11
- package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
- package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +58 -58
- package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
- package/lib/filter/time-filter-button/index.d.ts +1 -1
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
- package/lib/filter/time-filter-form/index.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
- package/lib/filter/time-filter-item/index.d.ts +1 -1
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
- package/lib/filter/time-filter-list/index.d.ts +2 -2
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
- package/lib/geo.module.d.ts +28 -28
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +206 -206
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
- package/lib/geometry/geometry.module.d.ts +8 -8
- package/lib/geometry/index.d.ts +3 -3
- package/lib/geometry/shared/controls/draw.d.ts +150 -150
- package/lib/geometry/shared/controls/index.d.ts +3 -3
- package/lib/geometry/shared/controls/modify.d.ts +228 -228
- package/lib/geometry/shared/controls/slice.d.ts +99 -99
- package/lib/geometry/shared/geometry.errors.d.ts +11 -11
- package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
- package/lib/geometry/shared/geometry.utils.d.ts +45 -45
- package/lib/geometry/shared/index.d.ts +4 -4
- package/lib/import-export/export-button/export-button.component.d.ts +16 -16
- package/lib/import-export/export-button/index.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +104 -104
- package/lib/import-export/import-export/index.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +26 -26
- package/lib/import-export/index.d.ts +4 -4
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +36 -36
- package/lib/import-export/shared/export.errors.d.ts +8 -8
- package/lib/import-export/shared/export.interface.d.ts +11 -11
- package/lib/import-export/shared/export.service.d.ts +30 -30
- package/lib/import-export/shared/export.type.d.ts +16 -16
- package/lib/import-export/shared/export.utils.d.ts +19 -19
- package/lib/import-export/shared/import.errors.d.ts +20 -20
- package/lib/import-export/shared/import.interface.d.ts +8 -8
- package/lib/import-export/shared/import.service.d.ts +31 -31
- package/lib/import-export/shared/import.utils.d.ts +18 -18
- package/lib/import-export/shared/index.d.ts +10 -10
- package/lib/import-export/style-list/index.d.ts +4 -4
- package/lib/import-export/style-list/style-list.interface.d.ts +6 -6
- package/lib/import-export/style-list/style-list.module.d.ts +8 -8
- package/lib/import-export/style-list/style-list.provider.d.ts +15 -15
- package/lib/import-export/style-list/style-list.service.d.ts +18 -18
- package/lib/layer/index.d.ts +10 -10
- package/lib/layer/layer-item/index.d.ts +1 -1
- package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
- package/lib/layer/layer-legend/index.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
- package/lib/layer/layer-legend-item/index.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
- package/lib/layer/layer-legend-list/index.d.ts +2 -2
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
- package/lib/layer/layer-list/index.d.ts +3 -3
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
- package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
- package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
- package/lib/layer/layer-list-tool/index.d.ts +4 -4
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
- package/lib/layer/layer.module.d.ts +36 -36
- package/lib/layer/shared/clusterParam.d.ts +13 -13
- package/lib/layer/shared/index.d.ts +6 -6
- package/lib/layer/shared/layer.enums.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +30 -30
- package/lib/layer/shared/layers/any-layer.d.ts +6 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
- package/lib/layer/shared/layers/image-layer.d.ts +22 -22
- package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
- package/lib/layer/shared/layers/index.d.ts +12 -12
- package/lib/layer/shared/layers/layer.d.ts +62 -62
- package/lib/layer/shared/layers/layer.interface.d.ts +109 -107
- package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
- package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
- package/lib/layer/shared/layers/vector-layer.d.ts +78 -78
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +41 -41
- package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +18 -18
- package/lib/layer/shared/style.service.d.ts +57 -57
- package/lib/layer/shared/vector-style.interface.d.ts +38 -38
- package/lib/layer/style-modal/index.d.ts +1 -1
- package/lib/layer/style-modal/style-modal.component.d.ts +42 -42
- package/lib/layer/track-feature-button/index.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
- package/lib/layer/utils/image-watcher.d.ts +17 -17
- package/lib/layer/utils/index.d.ts +5 -5
- package/lib/layer/utils/layer.utils.d.ts +2 -2
- package/lib/layer/utils/outputLegend.d.ts +7 -7
- package/lib/layer/utils/tile-watcher.d.ts +14 -14
- package/lib/layer/utils/vector-watcher.d.ts +13 -13
- package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +21 -21
- package/lib/map/baselayers-switcher/index.d.ts +2 -2
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
- package/lib/map/geolocate-button/index.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
- package/lib/map/home-extent-button/index.d.ts +1 -1
- package/lib/map/index.d.ts +13 -13
- package/lib/map/info-section/index.d.ts +1 -1
- package/lib/map/info-section/info-section.component.d.ts +7 -7
- package/lib/map/map-browser/index.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +25 -25
- package/lib/map/map-center/index.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +31 -31
- package/lib/map/map.module.d.ts +28 -28
- package/lib/map/menu-button/index.d.ts +1 -1
- package/lib/map/menu-button/menu-button.component.d.ts +17 -17
- package/lib/map/offline-button/index.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +23 -23
- package/lib/map/rotation-button/index.d.ts +1 -1
- package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
- package/lib/map/shared/controllers/controller.d.ts +29 -29
- package/lib/map/shared/controllers/geolocation.d.ts +112 -112
- package/lib/map/shared/controllers/index.d.ts +3 -3
- package/lib/map/shared/controllers/view.d.ts +200 -200
- package/lib/map/shared/hover-feature.directive.d.ts +132 -132
- package/lib/map/shared/index.d.ts +13 -13
- package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
- package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
- package/lib/map/shared/map.d.ts +135 -135
- package/lib/map/shared/map.enums.d.ts +4 -4
- package/lib/map/shared/map.interface.d.ts +57 -57
- package/lib/map/shared/map.service.d.ts +19 -19
- package/lib/map/shared/map.utils.d.ts +90 -90
- package/lib/map/shared/mapOffline.directive.d.ts +21 -21
- package/lib/map/shared/projection.interfaces.d.ts +29 -29
- package/lib/map/shared/projection.service.d.ts +19 -19
- package/lib/map/shared/projection.utils.d.ts +19 -19
- package/lib/map/swipe-control/index.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
- package/lib/map/utils/layer-watcher.d.ts +20 -20
- package/lib/map/wake-lock-button/index.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -30
- package/lib/map/zoom-button/index.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
- package/lib/measure/index.d.ts +3 -3
- package/lib/measure/measure.module.d.ts +7 -7
- package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
- package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
- package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
- package/lib/measure/measurer/measurer.component.d.ts +405 -405
- package/lib/measure/measurer/measurer.module.d.ts +25 -25
- package/lib/measure/shared/index.d.ts +3 -3
- package/lib/measure/shared/measure.enum.d.ts +33 -33
- package/lib/measure/shared/measure.interfaces.d.ts +21 -21
- package/lib/measure/shared/measure.utils.d.ts +180 -180
- package/lib/metadata/index.d.ts +2 -2
- package/lib/metadata/metadata-button/index.d.ts +1 -1
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
- package/lib/metadata/metadata.module.d.ts +15 -15
- package/lib/metadata/shared/index.d.ts +2 -2
- package/lib/metadata/shared/metadata.interface.d.ts +13 -13
- package/lib/metadata/shared/metadata.service.d.ts +8 -8
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
- package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
- package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
- package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
- package/lib/offline/geoDB/index.d.ts +4 -4
- package/lib/offline/index.d.ts +2 -2
- package/lib/offline/shared/geo-network.service.d.ts +28 -28
- package/lib/offline/shared/index.d.ts +1 -1
- package/lib/overlay/index.d.ts +1 -1
- package/lib/overlay/overlay.module.d.ts +9 -9
- package/lib/overlay/shared/index.d.ts +6 -6
- package/lib/overlay/shared/overlay-marker-style.utils.d.ts +11 -11
- package/lib/overlay/shared/overlay.d.ts +81 -81
- package/lib/overlay/shared/overlay.directive.d.ts +18 -18
- package/lib/overlay/shared/overlay.enum.d.ts +6 -6
- package/lib/overlay/shared/overlay.service.d.ts +14 -14
- package/lib/overlay/shared/overlay.utils.d.ts +17 -17
- package/lib/print/index.d.ts +3 -3
- package/lib/print/print/print.component.d.ts +35 -35
- package/lib/print/print-form/index.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +97 -97
- package/lib/print/print.module.d.ts +19 -19
- package/lib/print/shared/geopdf.d.ts +1 -1
- package/lib/print/shared/index.d.ts +4 -4
- package/lib/print/shared/print.interface.d.ts +22 -22
- package/lib/print/shared/print.service.d.ts +168 -168
- package/lib/print/shared/print.type.d.ts +45 -45
- package/lib/query/index.d.ts +1 -1
- package/lib/query/query.module.d.ts +11 -11
- package/lib/query/shared/index.d.ts +6 -6
- package/lib/query/shared/query-search-source.d.ts +17 -17
- package/lib/query/shared/query-search-source.providers.d.ts +17 -17
- package/lib/query/shared/query.directive.d.ts +105 -105
- package/lib/query/shared/query.enums.d.ts +26 -26
- package/lib/query/shared/query.interfaces.d.ts +35 -35
- package/lib/query/shared/query.service.d.ts +56 -56
- package/lib/query/shared/query.utils.d.ts +27 -27
- package/lib/search/index.d.ts +11 -11
- package/lib/search/search-bar/search-bar.component.d.ts +230 -230
- package/lib/search/search-bar/search-bar.module.d.ts +23 -23
- package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
- package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
- package/lib/search/search-results/search-results-add-button.component.d.ts +76 -76
- package/lib/search/search-results/search-results-item.component.d.ts +47 -47
- package/lib/search/search-results/search-results.component.d.ts +161 -161
- package/lib/search/search-results/search-results.module.d.ts +28 -28
- package/lib/search/search-selector/search-selector.component.d.ts +58 -58
- package/lib/search/search-selector/search-selector.module.d.ts +19 -19
- package/lib/search/search-settings/search-settings.component.d.ts +102 -102
- package/lib/search/search-settings/search-settings.module.d.ts +20 -20
- package/lib/search/search.module.d.ts +14 -14
- package/lib/search/shared/index.d.ts +8 -8
- package/lib/search/shared/search-pointer-summary.directive.d.ts +133 -133
- package/lib/search/shared/search-source-service.providers.d.ts +15 -15
- package/lib/search/shared/search-source.service.d.ts +32 -32
- package/lib/search/shared/search.enums.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +29 -29
- package/lib/search/shared/search.service.d.ts +53 -53
- package/lib/search/shared/search.utils.d.ts +39 -39
- package/lib/search/shared/sources/coordinates.d.ts +40 -40
- package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
- package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
- package/lib/search/shared/sources/icherche.d.ts +96 -96
- package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
- package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
- package/lib/search/shared/sources/ilayer.d.ts +55 -55
- package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
- package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
- package/lib/search/shared/sources/index.d.ts +17 -17
- package/lib/search/shared/sources/nominatim.d.ts +45 -45
- package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
- package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
- package/lib/search/shared/sources/source.d.ts +108 -108
- package/lib/search/shared/sources/source.interfaces.d.ts +47 -47
- package/lib/search/shared/sources/storedqueries.d.ts +73 -73
- package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
- package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
- package/lib/toast/index.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +33 -33
- package/lib/toast/toast.module.d.ts +14 -14
- package/lib/utils/commonVectorStyle.d.ts +14 -14
- package/lib/utils/commonVectorStyle.interface.d.ts +16 -16
- package/lib/utils/googleLinks.d.ts +5 -5
- package/lib/utils/id-generator.d.ts +54 -54
- package/lib/utils/index.d.ts +5 -5
- package/lib/utils/osmLinks.d.ts +4 -4
- package/lib/wkt/index.d.ts +1 -1
- package/lib/wkt/shared/index.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +19 -19
- package/lib/wkt/wkt.module.d.ts +8 -8
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
- package/lib/workspace/confirmation-popup/index.d.ts +2 -2
- package/lib/workspace/index.d.ts +7 -7
- package/lib/workspace/shared/edition-workspace.d.ts +82 -82
- package/lib/workspace/shared/edition-workspace.service.d.ts +52 -52
- package/lib/workspace/shared/feature-workspace.d.ts +18 -18
- package/lib/workspace/shared/feature-workspace.service.d.ts +19 -19
- package/lib/workspace/shared/index.d.ts +7 -7
- package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
- package/lib/workspace/shared/wfs-workspace.service.d.ts +19 -19
- package/lib/workspace/shared/wms-workspace.service.d.ts +22 -22
- package/lib/workspace/shared/workspace.utils.d.ts +10 -10
- package/lib/workspace/widgets/index.d.ts +3 -3
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
- package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
- package/lib/workspace/widgets/widgets.d.ts +9 -9
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
- package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
- package/lib/workspace/workspace.module.d.ts +14 -14
- package/package.json +4 -4
- package/public_api.d.ts +51 -51
|
@@ -1,308 +1,308 @@
|
|
|
1
|
-
import olGeolocation from 'ol/Geolocation';
|
|
2
|
-
import { BehaviorSubject, interval } from 'rxjs';
|
|
3
|
-
import olFeature from 'ol/Feature';
|
|
4
|
-
import { MapController } from './controller';
|
|
5
|
-
import { Point } from 'ol/geom';
|
|
6
|
-
import { fromCircle } from 'ol/geom/Polygon';
|
|
7
|
-
import OlCircle from 'ol/geom/Circle';
|
|
8
|
-
import * as olstyle from 'ol/style';
|
|
9
|
-
import { Overlay } from '../../../overlay/shared/overlay';
|
|
10
|
-
import { FeatureMotion } from '../../../feature/shared/feature.enums';
|
|
11
|
-
import { switchMap } from 'rxjs/operators';
|
|
12
|
-
var GeolocationOverlayType;
|
|
13
|
-
(function (GeolocationOverlayType) {
|
|
14
|
-
GeolocationOverlayType["Position"] = "position";
|
|
15
|
-
GeolocationOverlayType["Accuracy"] = "accuracy";
|
|
16
|
-
GeolocationOverlayType["Buffer"] = "buffer";
|
|
17
|
-
})(GeolocationOverlayType || (GeolocationOverlayType = {}));
|
|
18
|
-
/**
|
|
19
|
-
* Controller to handle map view interactions
|
|
20
|
-
*/
|
|
21
|
-
export class MapGeolocationController extends MapController {
|
|
22
|
-
constructor(map, options, storageService, configService) {
|
|
23
|
-
super();
|
|
24
|
-
this.map = map;
|
|
25
|
-
this.options = options;
|
|
26
|
-
this.storageService = storageService;
|
|
27
|
-
this.configService = configService;
|
|
28
|
-
this.subscriptions$$ = [];
|
|
29
|
-
this.positionFeatureStyle = new olstyle.Style({
|
|
30
|
-
image: new olstyle.Circle({
|
|
31
|
-
radius: 6,
|
|
32
|
-
fill: new olstyle.Fill({
|
|
33
|
-
color: '#3399CC',
|
|
34
|
-
}),
|
|
35
|
-
stroke: new olstyle.Stroke({
|
|
36
|
-
color: '#fff',
|
|
37
|
-
width: 2,
|
|
38
|
-
}),
|
|
39
|
-
}),
|
|
40
|
-
});
|
|
41
|
-
this.accuracyFeatureStyle = new olstyle.Style({
|
|
42
|
-
stroke: new olstyle.Stroke({
|
|
43
|
-
color: 'rgba(120, 120, 120, 0.4)',
|
|
44
|
-
width: 1,
|
|
45
|
-
}),
|
|
46
|
-
fill: new olstyle.Fill({
|
|
47
|
-
color: 'rgba(120, 120, 120, 0.4)',
|
|
48
|
-
}),
|
|
49
|
-
});
|
|
50
|
-
/**
|
|
51
|
-
* Observable of the current emission interval of the position. In seconds
|
|
52
|
-
*/
|
|
53
|
-
this.emissionIntervalSeconds$ = new BehaviorSubject(5);
|
|
54
|
-
/**
|
|
55
|
-
* Observable of the current position
|
|
56
|
-
*/
|
|
57
|
-
this.position$ = new BehaviorSubject(undefined);
|
|
58
|
-
/**
|
|
59
|
-
* Observable of the tracking state
|
|
60
|
-
*/
|
|
61
|
-
this.tracking$ = new BehaviorSubject(undefined);
|
|
62
|
-
/**
|
|
63
|
-
* Observable of the follow position state
|
|
64
|
-
*/
|
|
65
|
-
this.followPosition$ = new BehaviorSubject(undefined);
|
|
66
|
-
this._buffer = this.options && this.options.buffer ? this.options.buffer : undefined;
|
|
67
|
-
this._accuracyThreshold = this.options && this.options.accuracyThreshold ? this.options.accuracyThreshold : 5000;
|
|
68
|
-
this._followPosition = this.options && this.options.followPosition ? this.options.followPosition : false;
|
|
69
|
-
this.geolocationOverlay = new Overlay(this.map);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* History of positions
|
|
73
|
-
*/
|
|
74
|
-
// private positions: MapGeolocationState[] = [];
|
|
75
|
-
/**
|
|
76
|
-
* Whether the geolocate controller should keep the position history
|
|
77
|
-
*/
|
|
78
|
-
/*
|
|
79
|
-
// todo: refine this method
|
|
80
|
-
set keepPositionHistory(value) {
|
|
81
|
-
this._keepPositionHistory = value;
|
|
82
|
-
}
|
|
83
|
-
get keepPositionHistory(): boolean {
|
|
84
|
-
return this._keepPositionHistory;
|
|
85
|
-
}
|
|
86
|
-
private _keepPositionHistory: boolean = this.options && this.options.keepPositionHistory ? this.options.keepPositionHistory : true;
|
|
87
|
-
*/
|
|
88
|
-
/**
|
|
89
|
-
* Whether the geolocate should show a buffer around the current position
|
|
90
|
-
*/
|
|
91
|
-
set buffer(value) {
|
|
92
|
-
this._buffer = value;
|
|
93
|
-
this.handleFeatureCreation(this.position$.value);
|
|
94
|
-
}
|
|
95
|
-
get buffer() {
|
|
96
|
-
return this._buffer;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Whether the geolocate controller accuracy threshold to store/show the position.
|
|
100
|
-
*/
|
|
101
|
-
set accuracyThreshold(value) {
|
|
102
|
-
this._accuracyThreshold = value;
|
|
103
|
-
this.handleFeatureCreation(this.position$.value);
|
|
104
|
-
}
|
|
105
|
-
get accuracyThreshold() {
|
|
106
|
-
return this._accuracyThreshold;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Whether the activate the geolocation.
|
|
110
|
-
*/
|
|
111
|
-
get tracking() {
|
|
112
|
-
return this.geolocation.getTracking();
|
|
113
|
-
}
|
|
114
|
-
set tracking(value) {
|
|
115
|
-
this.geolocation.setTracking(value || false);
|
|
116
|
-
this.tracking$.next(value);
|
|
117
|
-
if (this.storageService && value !== undefined) {
|
|
118
|
-
this.storageService.set('geolocation.tracking', value);
|
|
119
|
-
}
|
|
120
|
-
if (!value) {
|
|
121
|
-
this.position$.next(undefined);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Whether the activate the view tracking of the current position
|
|
126
|
-
*/
|
|
127
|
-
set followPosition(value) {
|
|
128
|
-
this._followPosition = value;
|
|
129
|
-
this.followPosition$.next(value);
|
|
130
|
-
if (this.configService?.getConfig('geolocate.followPosition') === false) {
|
|
131
|
-
this._followPosition = false;
|
|
132
|
-
this.followPosition$.next(false);
|
|
133
|
-
}
|
|
134
|
-
this.handleFeatureCreation(this.position$.value);
|
|
135
|
-
if (this.storageService && value !== undefined) {
|
|
136
|
-
this.storageService.set('geolocation.followPosition', value);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
get followPosition() {
|
|
140
|
-
return this._followPosition;
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Add or remove this controller to/from a map.
|
|
144
|
-
* @param map OL Map
|
|
145
|
-
*/
|
|
146
|
-
setOlMap(olMap) {
|
|
147
|
-
super.setOlMap(olMap);
|
|
148
|
-
this.setupObservers();
|
|
149
|
-
}
|
|
150
|
-
deleteGeolocationFeatures() {
|
|
151
|
-
this.deleteFeatureByType(GeolocationOverlayType.Position);
|
|
152
|
-
this.deleteFeatureByType(GeolocationOverlayType.Accuracy);
|
|
153
|
-
this.deleteFeatureByType(GeolocationOverlayType.Buffer);
|
|
154
|
-
}
|
|
155
|
-
setupObservers() {
|
|
156
|
-
this.tracking$.subscribe(tracking => {
|
|
157
|
-
if (tracking) {
|
|
158
|
-
this.onPositionChange(true, true);
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
this.deleteGeolocationFeatures();
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
this.geolocation = new olGeolocation({
|
|
165
|
-
// enableHighAccuracy must be set to true to have the heading value.
|
|
166
|
-
trackingOptions: {
|
|
167
|
-
enableHighAccuracy: true,
|
|
168
|
-
maximumAge: 10000,
|
|
169
|
-
timeout: 600000
|
|
170
|
-
},
|
|
171
|
-
projection: this.options.projection,
|
|
172
|
-
});
|
|
173
|
-
let tracking = false;
|
|
174
|
-
this.subscriptions$$.push(this.emissionIntervalSeconds$
|
|
175
|
-
.pipe(switchMap(value => interval(value * 1000)))
|
|
176
|
-
.subscribe(() => {
|
|
177
|
-
if (tracking === this.tracking) {
|
|
178
|
-
this.onPositionChange(true);
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
tracking = this.tracking;
|
|
182
|
-
this.onPositionChange(true, true);
|
|
183
|
-
}
|
|
184
|
-
}));
|
|
185
|
-
}
|
|
186
|
-
updateGeolocationOptions(options) {
|
|
187
|
-
if (!options) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
// todo maybe a dedicated interface for geolocation should be defined instead of putting these inside the mapviewoptions?
|
|
191
|
-
let tracking = options.geolocate;
|
|
192
|
-
let followPosition = options.alwaysTracking;
|
|
193
|
-
if (this.storageService) {
|
|
194
|
-
const storedTracking = this.storageService.get('geolocation.tracking');
|
|
195
|
-
if (storedTracking !== null && storedTracking !== undefined) {
|
|
196
|
-
tracking = storedTracking;
|
|
197
|
-
}
|
|
198
|
-
const storedFollowPosition = this.storageService.get('geolocation.followPosition');
|
|
199
|
-
if (storedFollowPosition !== null && storedFollowPosition !== undefined) {
|
|
200
|
-
followPosition = storedFollowPosition;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
this.tracking = tracking;
|
|
204
|
-
this.followPosition = followPosition;
|
|
205
|
-
this.buffer = options.buffer;
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Teardown any observers
|
|
209
|
-
*/
|
|
210
|
-
teardownObservers() {
|
|
211
|
-
if (this.subscriptions$$.length) {
|
|
212
|
-
this.subscriptions$$.map(s => s.unsubscribe());
|
|
213
|
-
}
|
|
214
|
-
super.teardownObservers();
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Clear the position history
|
|
218
|
-
*/
|
|
219
|
-
/*
|
|
220
|
-
// todo
|
|
221
|
-
clearPositionsHistory() {
|
|
222
|
-
this.positions = [];
|
|
223
|
-
}*/
|
|
224
|
-
/**
|
|
225
|
-
* On position change, get the position, show it on the map and record it.
|
|
226
|
-
* @param emitEvent Map event
|
|
227
|
-
*/
|
|
228
|
-
onPositionChange(emitEvent = false, zoomTo = false) {
|
|
229
|
-
if (!this.tracking) {
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
const geolocateProperties = this.geolocation.getProperties();
|
|
233
|
-
if (geolocateProperties.accuracy > this.accuracyThreshold) {
|
|
234
|
-
console.warn('Poor geolocation accuracy. No position are stored/shown');
|
|
235
|
-
this.position$.next(undefined);
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
const position = {
|
|
239
|
-
position: geolocateProperties.position,
|
|
240
|
-
projection: this.geolocation.getProjection().getCode(),
|
|
241
|
-
accuracy: geolocateProperties.accuracy,
|
|
242
|
-
altitude: geolocateProperties.altitude,
|
|
243
|
-
altitudeAccuracy: geolocateProperties.altitudeAccuracy,
|
|
244
|
-
heading: geolocateProperties.heading,
|
|
245
|
-
speed: geolocateProperties.speed,
|
|
246
|
-
enableHighAccuracy: geolocateProperties.trackingOptions?.enableHighAccuracy ? true : false,
|
|
247
|
-
timestamp: new Date()
|
|
248
|
-
};
|
|
249
|
-
this.handleFeatureCreation(position, zoomTo);
|
|
250
|
-
if (emitEvent) {
|
|
251
|
-
this.position$.next(position);
|
|
252
|
-
/*if (this.keepPositionHistory === true) {
|
|
253
|
-
// handle position diff to store only true diff;
|
|
254
|
-
this.positions.push(position);
|
|
255
|
-
}*/
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
deleteFeatureByType(type) {
|
|
259
|
-
const featureById = this.geolocationOverlay.dataSource.ol.getFeatureById(type);
|
|
260
|
-
if (featureById) {
|
|
261
|
-
this.geolocationOverlay.dataSource.ol.removeFeature(featureById);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
handleFeatureCreation(position, zoomTo = false) {
|
|
265
|
-
if (!position || !position.position) {
|
|
266
|
-
return;
|
|
267
|
-
}
|
|
268
|
-
this.deleteGeolocationFeatures();
|
|
269
|
-
const positionGeometry = new Point(position.position);
|
|
270
|
-
const accuracyGeometry = fromCircle(new OlCircle(position.position, position.accuracy || 0));
|
|
271
|
-
const positionFeature = new olFeature({ geometry: positionGeometry });
|
|
272
|
-
const accuracyFeature = new olFeature({ geometry: accuracyGeometry });
|
|
273
|
-
if (positionGeometry) {
|
|
274
|
-
let motion = this.followPosition ? FeatureMotion.Move : FeatureMotion.None;
|
|
275
|
-
if (zoomTo) {
|
|
276
|
-
motion = FeatureMotion.Zoom;
|
|
277
|
-
}
|
|
278
|
-
positionFeature.setId(GeolocationOverlayType.Position);
|
|
279
|
-
positionFeature.setStyle(this.positionFeatureStyle);
|
|
280
|
-
this.geolocationOverlay.addOlFeature(positionFeature, motion);
|
|
281
|
-
if (accuracyGeometry) {
|
|
282
|
-
accuracyFeature.setId(GeolocationOverlayType.Accuracy);
|
|
283
|
-
accuracyFeature.setStyle(this.accuracyFeatureStyle);
|
|
284
|
-
this.geolocationOverlay.addOlFeature(accuracyFeature, motion);
|
|
285
|
-
}
|
|
286
|
-
if (this.buffer) {
|
|
287
|
-
const bufferFeature = new olFeature(new OlCircle(position.position, this.buffer.bufferRadius));
|
|
288
|
-
const bufferStyle = new olstyle.Style({
|
|
289
|
-
stroke: new olstyle.Stroke({ width: 2, color: this.buffer.bufferStroke }),
|
|
290
|
-
fill: new olstyle.Fill({ color: this.buffer.bufferFill }),
|
|
291
|
-
text: new olstyle.Text({
|
|
292
|
-
textAlign: 'left',
|
|
293
|
-
offsetX: 10,
|
|
294
|
-
offsetY: -10,
|
|
295
|
-
font: '12px Calibri,sans-serif',
|
|
296
|
-
text: this.buffer.showBufferRadius ? `${this.buffer.bufferRadius}m` : '',
|
|
297
|
-
fill: new olstyle.Fill({ color: '#000' }),
|
|
298
|
-
stroke: new olstyle.Stroke({ color: '#fff', width: 3 })
|
|
299
|
-
})
|
|
300
|
-
});
|
|
301
|
-
bufferFeature.setId(GeolocationOverlayType.Buffer);
|
|
302
|
-
bufferFeature.setStyle(bufferStyle);
|
|
303
|
-
this.geolocationOverlay.addOlFeature(bufferFeature, motion);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
1
|
+
import olGeolocation from 'ol/Geolocation';
|
|
2
|
+
import { BehaviorSubject, interval } from 'rxjs';
|
|
3
|
+
import olFeature from 'ol/Feature';
|
|
4
|
+
import { MapController } from './controller';
|
|
5
|
+
import { Point } from 'ol/geom';
|
|
6
|
+
import { fromCircle } from 'ol/geom/Polygon';
|
|
7
|
+
import OlCircle from 'ol/geom/Circle';
|
|
8
|
+
import * as olstyle from 'ol/style';
|
|
9
|
+
import { Overlay } from '../../../overlay/shared/overlay';
|
|
10
|
+
import { FeatureMotion } from '../../../feature/shared/feature.enums';
|
|
11
|
+
import { switchMap } from 'rxjs/operators';
|
|
12
|
+
var GeolocationOverlayType;
|
|
13
|
+
(function (GeolocationOverlayType) {
|
|
14
|
+
GeolocationOverlayType["Position"] = "position";
|
|
15
|
+
GeolocationOverlayType["Accuracy"] = "accuracy";
|
|
16
|
+
GeolocationOverlayType["Buffer"] = "buffer";
|
|
17
|
+
})(GeolocationOverlayType || (GeolocationOverlayType = {}));
|
|
18
|
+
/**
|
|
19
|
+
* Controller to handle map view interactions
|
|
20
|
+
*/
|
|
21
|
+
export class MapGeolocationController extends MapController {
|
|
22
|
+
constructor(map, options, storageService, configService) {
|
|
23
|
+
super();
|
|
24
|
+
this.map = map;
|
|
25
|
+
this.options = options;
|
|
26
|
+
this.storageService = storageService;
|
|
27
|
+
this.configService = configService;
|
|
28
|
+
this.subscriptions$$ = [];
|
|
29
|
+
this.positionFeatureStyle = new olstyle.Style({
|
|
30
|
+
image: new olstyle.Circle({
|
|
31
|
+
radius: 6,
|
|
32
|
+
fill: new olstyle.Fill({
|
|
33
|
+
color: '#3399CC',
|
|
34
|
+
}),
|
|
35
|
+
stroke: new olstyle.Stroke({
|
|
36
|
+
color: '#fff',
|
|
37
|
+
width: 2,
|
|
38
|
+
}),
|
|
39
|
+
}),
|
|
40
|
+
});
|
|
41
|
+
this.accuracyFeatureStyle = new olstyle.Style({
|
|
42
|
+
stroke: new olstyle.Stroke({
|
|
43
|
+
color: 'rgba(120, 120, 120, 0.4)',
|
|
44
|
+
width: 1,
|
|
45
|
+
}),
|
|
46
|
+
fill: new olstyle.Fill({
|
|
47
|
+
color: 'rgba(120, 120, 120, 0.4)',
|
|
48
|
+
}),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Observable of the current emission interval of the position. In seconds
|
|
52
|
+
*/
|
|
53
|
+
this.emissionIntervalSeconds$ = new BehaviorSubject(5);
|
|
54
|
+
/**
|
|
55
|
+
* Observable of the current position
|
|
56
|
+
*/
|
|
57
|
+
this.position$ = new BehaviorSubject(undefined);
|
|
58
|
+
/**
|
|
59
|
+
* Observable of the tracking state
|
|
60
|
+
*/
|
|
61
|
+
this.tracking$ = new BehaviorSubject(undefined);
|
|
62
|
+
/**
|
|
63
|
+
* Observable of the follow position state
|
|
64
|
+
*/
|
|
65
|
+
this.followPosition$ = new BehaviorSubject(undefined);
|
|
66
|
+
this._buffer = this.options && this.options.buffer ? this.options.buffer : undefined;
|
|
67
|
+
this._accuracyThreshold = this.options && this.options.accuracyThreshold ? this.options.accuracyThreshold : 5000;
|
|
68
|
+
this._followPosition = this.options && this.options.followPosition ? this.options.followPosition : false;
|
|
69
|
+
this.geolocationOverlay = new Overlay(this.map);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* History of positions
|
|
73
|
+
*/
|
|
74
|
+
// private positions: MapGeolocationState[] = [];
|
|
75
|
+
/**
|
|
76
|
+
* Whether the geolocate controller should keep the position history
|
|
77
|
+
*/
|
|
78
|
+
/*
|
|
79
|
+
// todo: refine this method
|
|
80
|
+
set keepPositionHistory(value) {
|
|
81
|
+
this._keepPositionHistory = value;
|
|
82
|
+
}
|
|
83
|
+
get keepPositionHistory(): boolean {
|
|
84
|
+
return this._keepPositionHistory;
|
|
85
|
+
}
|
|
86
|
+
private _keepPositionHistory: boolean = this.options && this.options.keepPositionHistory ? this.options.keepPositionHistory : true;
|
|
87
|
+
*/
|
|
88
|
+
/**
|
|
89
|
+
* Whether the geolocate should show a buffer around the current position
|
|
90
|
+
*/
|
|
91
|
+
set buffer(value) {
|
|
92
|
+
this._buffer = value;
|
|
93
|
+
this.handleFeatureCreation(this.position$.value);
|
|
94
|
+
}
|
|
95
|
+
get buffer() {
|
|
96
|
+
return this._buffer;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Whether the geolocate controller accuracy threshold to store/show the position.
|
|
100
|
+
*/
|
|
101
|
+
set accuracyThreshold(value) {
|
|
102
|
+
this._accuracyThreshold = value;
|
|
103
|
+
this.handleFeatureCreation(this.position$.value);
|
|
104
|
+
}
|
|
105
|
+
get accuracyThreshold() {
|
|
106
|
+
return this._accuracyThreshold;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Whether the activate the geolocation.
|
|
110
|
+
*/
|
|
111
|
+
get tracking() {
|
|
112
|
+
return this.geolocation.getTracking();
|
|
113
|
+
}
|
|
114
|
+
set tracking(value) {
|
|
115
|
+
this.geolocation.setTracking(value || false);
|
|
116
|
+
this.tracking$.next(value);
|
|
117
|
+
if (this.storageService && value !== undefined) {
|
|
118
|
+
this.storageService.set('geolocation.tracking', value);
|
|
119
|
+
}
|
|
120
|
+
if (!value) {
|
|
121
|
+
this.position$.next(undefined);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Whether the activate the view tracking of the current position
|
|
126
|
+
*/
|
|
127
|
+
set followPosition(value) {
|
|
128
|
+
this._followPosition = value;
|
|
129
|
+
this.followPosition$.next(value);
|
|
130
|
+
if (this.configService?.getConfig('geolocate.followPosition') === false) {
|
|
131
|
+
this._followPosition = false;
|
|
132
|
+
this.followPosition$.next(false);
|
|
133
|
+
}
|
|
134
|
+
this.handleFeatureCreation(this.position$.value);
|
|
135
|
+
if (this.storageService && value !== undefined) {
|
|
136
|
+
this.storageService.set('geolocation.followPosition', value);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
get followPosition() {
|
|
140
|
+
return this._followPosition;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Add or remove this controller to/from a map.
|
|
144
|
+
* @param map OL Map
|
|
145
|
+
*/
|
|
146
|
+
setOlMap(olMap) {
|
|
147
|
+
super.setOlMap(olMap);
|
|
148
|
+
this.setupObservers();
|
|
149
|
+
}
|
|
150
|
+
deleteGeolocationFeatures() {
|
|
151
|
+
this.deleteFeatureByType(GeolocationOverlayType.Position);
|
|
152
|
+
this.deleteFeatureByType(GeolocationOverlayType.Accuracy);
|
|
153
|
+
this.deleteFeatureByType(GeolocationOverlayType.Buffer);
|
|
154
|
+
}
|
|
155
|
+
setupObservers() {
|
|
156
|
+
this.tracking$.subscribe(tracking => {
|
|
157
|
+
if (tracking) {
|
|
158
|
+
this.onPositionChange(true, true);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
this.deleteGeolocationFeatures();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
this.geolocation = new olGeolocation({
|
|
165
|
+
// enableHighAccuracy must be set to true to have the heading value.
|
|
166
|
+
trackingOptions: {
|
|
167
|
+
enableHighAccuracy: true,
|
|
168
|
+
maximumAge: 10000,
|
|
169
|
+
timeout: 600000
|
|
170
|
+
},
|
|
171
|
+
projection: this.options.projection,
|
|
172
|
+
});
|
|
173
|
+
let tracking = false;
|
|
174
|
+
this.subscriptions$$.push(this.emissionIntervalSeconds$
|
|
175
|
+
.pipe(switchMap(value => interval(value * 1000)))
|
|
176
|
+
.subscribe(() => {
|
|
177
|
+
if (tracking === this.tracking) {
|
|
178
|
+
this.onPositionChange(true);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
tracking = this.tracking;
|
|
182
|
+
this.onPositionChange(true, true);
|
|
183
|
+
}
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
updateGeolocationOptions(options) {
|
|
187
|
+
if (!options) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
// todo maybe a dedicated interface for geolocation should be defined instead of putting these inside the mapviewoptions?
|
|
191
|
+
let tracking = options.geolocate;
|
|
192
|
+
let followPosition = options.alwaysTracking;
|
|
193
|
+
if (this.storageService) {
|
|
194
|
+
const storedTracking = this.storageService.get('geolocation.tracking');
|
|
195
|
+
if (storedTracking !== null && storedTracking !== undefined) {
|
|
196
|
+
tracking = storedTracking;
|
|
197
|
+
}
|
|
198
|
+
const storedFollowPosition = this.storageService.get('geolocation.followPosition');
|
|
199
|
+
if (storedFollowPosition !== null && storedFollowPosition !== undefined) {
|
|
200
|
+
followPosition = storedFollowPosition;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
this.tracking = tracking;
|
|
204
|
+
this.followPosition = followPosition;
|
|
205
|
+
this.buffer = options.buffer;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Teardown any observers
|
|
209
|
+
*/
|
|
210
|
+
teardownObservers() {
|
|
211
|
+
if (this.subscriptions$$.length) {
|
|
212
|
+
this.subscriptions$$.map(s => s.unsubscribe());
|
|
213
|
+
}
|
|
214
|
+
super.teardownObservers();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Clear the position history
|
|
218
|
+
*/
|
|
219
|
+
/*
|
|
220
|
+
// todo
|
|
221
|
+
clearPositionsHistory() {
|
|
222
|
+
this.positions = [];
|
|
223
|
+
}*/
|
|
224
|
+
/**
|
|
225
|
+
* On position change, get the position, show it on the map and record it.
|
|
226
|
+
* @param emitEvent Map event
|
|
227
|
+
*/
|
|
228
|
+
onPositionChange(emitEvent = false, zoomTo = false) {
|
|
229
|
+
if (!this.tracking) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const geolocateProperties = this.geolocation.getProperties();
|
|
233
|
+
if (geolocateProperties.accuracy > this.accuracyThreshold) {
|
|
234
|
+
console.warn('Poor geolocation accuracy. No position are stored/shown');
|
|
235
|
+
this.position$.next(undefined);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const position = {
|
|
239
|
+
position: geolocateProperties.position,
|
|
240
|
+
projection: this.geolocation.getProjection().getCode(),
|
|
241
|
+
accuracy: geolocateProperties.accuracy,
|
|
242
|
+
altitude: geolocateProperties.altitude,
|
|
243
|
+
altitudeAccuracy: geolocateProperties.altitudeAccuracy,
|
|
244
|
+
heading: geolocateProperties.heading,
|
|
245
|
+
speed: geolocateProperties.speed,
|
|
246
|
+
enableHighAccuracy: geolocateProperties.trackingOptions?.enableHighAccuracy ? true : false,
|
|
247
|
+
timestamp: new Date()
|
|
248
|
+
};
|
|
249
|
+
this.handleFeatureCreation(position, zoomTo);
|
|
250
|
+
if (emitEvent) {
|
|
251
|
+
this.position$.next(position);
|
|
252
|
+
/*if (this.keepPositionHistory === true) {
|
|
253
|
+
// handle position diff to store only true diff;
|
|
254
|
+
this.positions.push(position);
|
|
255
|
+
}*/
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
deleteFeatureByType(type) {
|
|
259
|
+
const featureById = this.geolocationOverlay.dataSource.ol.getFeatureById(type);
|
|
260
|
+
if (featureById) {
|
|
261
|
+
this.geolocationOverlay.dataSource.ol.removeFeature(featureById);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
handleFeatureCreation(position, zoomTo = false) {
|
|
265
|
+
if (!position || !position.position) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
this.deleteGeolocationFeatures();
|
|
269
|
+
const positionGeometry = new Point(position.position);
|
|
270
|
+
const accuracyGeometry = fromCircle(new OlCircle(position.position, position.accuracy || 0));
|
|
271
|
+
const positionFeature = new olFeature({ geometry: positionGeometry });
|
|
272
|
+
const accuracyFeature = new olFeature({ geometry: accuracyGeometry });
|
|
273
|
+
if (positionGeometry) {
|
|
274
|
+
let motion = this.followPosition ? FeatureMotion.Move : FeatureMotion.None;
|
|
275
|
+
if (zoomTo) {
|
|
276
|
+
motion = FeatureMotion.Zoom;
|
|
277
|
+
}
|
|
278
|
+
positionFeature.setId(GeolocationOverlayType.Position);
|
|
279
|
+
positionFeature.setStyle(this.positionFeatureStyle);
|
|
280
|
+
this.geolocationOverlay.addOlFeature(positionFeature, motion);
|
|
281
|
+
if (accuracyGeometry) {
|
|
282
|
+
accuracyFeature.setId(GeolocationOverlayType.Accuracy);
|
|
283
|
+
accuracyFeature.setStyle(this.accuracyFeatureStyle);
|
|
284
|
+
this.geolocationOverlay.addOlFeature(accuracyFeature, motion);
|
|
285
|
+
}
|
|
286
|
+
if (this.buffer) {
|
|
287
|
+
const bufferFeature = new olFeature(new OlCircle(position.position, this.buffer.bufferRadius));
|
|
288
|
+
const bufferStyle = new olstyle.Style({
|
|
289
|
+
stroke: new olstyle.Stroke({ width: 2, color: this.buffer.bufferStroke }),
|
|
290
|
+
fill: new olstyle.Fill({ color: this.buffer.bufferFill }),
|
|
291
|
+
text: new olstyle.Text({
|
|
292
|
+
textAlign: 'left',
|
|
293
|
+
offsetX: 10,
|
|
294
|
+
offsetY: -10,
|
|
295
|
+
font: '12px Calibri,sans-serif',
|
|
296
|
+
text: this.buffer.showBufferRadius ? `${this.buffer.bufferRadius}m` : '',
|
|
297
|
+
fill: new olstyle.Fill({ color: '#000' }),
|
|
298
|
+
stroke: new olstyle.Stroke({ color: '#fff', width: 3 })
|
|
299
|
+
})
|
|
300
|
+
});
|
|
301
|
+
bufferFeature.setId(GeolocationOverlayType.Buffer);
|
|
302
|
+
bufferFeature.setStyle(bufferStyle);
|
|
303
|
+
this.geolocationOverlay.addOlFeature(bufferFeature, motion);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
308
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL2NvbnRyb2xsZXJzL2dlb2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sYUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUcvRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsS0FBSyxFQUFXLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLFFBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQTJCM0MsSUFBSyxzQkFJSjtBQUpELFdBQUssc0JBQXNCO0lBQ3pCLCtDQUFxQixDQUFBO0lBQ3JCLCtDQUFxQixDQUFBO0lBQ3JCLDJDQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFKSSxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBSTFCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQXFJekQsWUFDVSxHQUFXLEVBQ1gsT0FBeUMsRUFDekMsY0FBK0IsRUFDL0IsYUFBNkI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFKQSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsWUFBTyxHQUFQLE9BQU8s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Q0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUN6RCxJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUNyQixTQUFTLEVBQUUsTUFBTTt3QkFDakIsT0FBTyxFQUFFLEVBQUU7d0JBQ1gsT0FBTyxFQUFFLENBQUMsRUFBRTt3QkFDWixJQUFJLEVBQUUseUJBQXlCO3dCQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUN4RSxJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO3dCQUN6QyxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7cUJBQ3hELENBQUM7aUJBQ0gsQ0FBQyxDQUFDO2dCQUNILGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQzdEO1NBRUY7SUFFSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgT2xNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCBvbEdlb2xvY2F0aW9uIGZyb20gJ29sL0dlb2xvY2F0aW9uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgKiBhcyBvbHByb2ogZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHsgTWFwQ29udHJvbGxlciB9IGZyb20gJy4vY29udHJvbGxlcic7XG5pbXBvcnQgeyBQb2ludCwgUG9seWdvbiB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgZnJvbUNpcmNsZSB9IGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vbWFwJztcbmltcG9ydCAqIGFzIG9sc3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXkvc2hhcmVkL292ZXJsYXknO1xuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vbWFwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5leHBvcnQgaW50ZXJmYWNlIE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlck9wdGlvbnMge1xuICAvLyAgdG9kbyBrZWVwUG9zaXRpb25IaXN0b3J5PzogYm9vbGVhbjtcbiAgcHJvamVjdGlvbjogb2xwcm9qLlByb2plY3Rpb25MaWtlXG4gIGFjY3VyYWN5VGhyZXNob2xkPzogbnVtYmVyO1xuICBmb2xsb3dQb3NpdGlvbj86IGJvb2xlYW47XG4gIGJ1ZmZlcj86IEdlb2xvY2F0aW9uQnVmZmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBNYXBHZW9sb2NhdGlvblN0YXRlIHtcbiAgcG9zaXRpb246IG51bWJlcltdO1xuICBwcm9qZWN0aW9uOiBzdHJpbmc7XG4gIGFjY3VyYWN5OiBudW1iZXI7XG4gIGFsdGl0dWRlOiBudW1iZXI7XG4gIGFsdGl0dWRlQWNjdXJhY3k6IG51bWJlcjtcbiAgaGVhZGluZzogbnVtYmVyO1xuICBzcGVlZDogbnVtYmVyO1xuICBlbmFibGVIaWdoQWNjdXJhY3k6IGJvb2xlYW47XG4gIHRpbWVzdGFtcDogRGF0ZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR2VvbG9jYXRpb25CdWZmZXIge1xuICBidWZmZXJSYWRpdXM/OiBudW1iZXI7XG4gIGJ1ZmZlclN0cm9rZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBidWZmZXJGaWxsPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHNob3dCdWZmZXJSYWRpdXM/OiBib29sZWFuO1xufVxuXG5cbmVudW0gR2VvbG9jYXRpb25PdmVybGF5VHlwZSB7XG4gIFBvc2l0aW9uID0gJ3Bvc2l0aW9uJyxcbiAgQWNjdXJhY3kgPSAnYWNjdXJhY3knLFxuICBCdWZmZXI9ICdidWZmZXInXG59XG5cbi8qKlxuICogQ29udHJvbGxlciB0byBoYW5kbGUgbWFwIHZpZXcgaW50ZXJhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBNYXBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgZXh0ZW5kcyBNYXBDb250cm9sbGVyIHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBnZW9sb2NhdGlvbk92ZXJsYXk6IE92ZXJsYXk7XG4gIHByaXZhdGUgcG9zaXRpb25GZWF0dXJlU3R5bGU6IG9sc3R5bGUuU3R5bGUgfCBvbHN0eWxlLlN0eWxlW10gPSBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgaW1hZ2U6IG5ldyBvbHN0eWxlLkNpcmNsZSh7XG4gICAgICByYWRpdXM6IDYsXG4gICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgICAgY29sb3I6ICcjMzM5OUNDJyxcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgICBjb2xvcjogJyNmZmYnLFxuICAgICAgICB3aWR0aDogMixcbiAgICAgIH0pLFxuICAgIH0pLFxuICB9KTtcbiAgcHJpdmF0ZSBhY2N1cmFjeUZlYXR1cmVTdHlsZTogb2xzdHlsZS5TdHlsZSB8IG9sc3R5bGUuU3R5bGVbXSA9IG5ldyBvbHN0eWxlLlN0eWxlKHtcbiAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XG4gICAgICBjb2xvcjogJ3JnYmEoMTIwLCAxMjAsIDEyMCwgMC40KScsXG4gICAgICB3aWR0aDogMSxcbiAgICB9KSxcbiAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgIGNvbG9yOiAncmdiYSgxMjAsIDEyMCwgMTIwLCAwLjQpJyxcbiAgICB9KSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBnZW9sb2NhdGlvbjogb2xHZW9sb2NhdGlvbjtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgY3VycmVudCBlbWlzc2lvbiBpbnRlcnZhbCBvZiB0aGUgcG9zaXRpb24uIEluIHNlY29uZHNcbiAgICovXG4gICBwdWJsaWMgcmVhZG9ubHkgZW1pc3Npb25JbnRlcnZhbFNlY29uZHMkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoNSk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGN1cnJlbnQgcG9zaXRpb25cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwb3NpdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hcEdlb2xvY2F0aW9uU3RhdGU+KHVuZGVmaW5lZCk7XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIG9mIHRoZSB0cmFja2luZyBzdGF0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRyYWNraW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGZvbGxvdyBwb3NpdGlvbiBzdGF0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZvbGxvd1Bvc2l0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcblxuXG4gIC8qKlxuICAgKiBIaXN0b3J5IG9mIHBvc2l0aW9uc1xuICAgKi9cbiAgLy8gcHJpdmF0ZSBwb3NpdGlvbnM6IE1hcEdlb2xvY2F0aW9uU3RhdGVbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBnZW9sb2NhdGUgY29udHJvbGxlciBzaG91bGQga2VlcCB0aGUgcG9zaXRpb24gaGlzdG9yeVxuICAgKi9cbiAgLypcbiAgLy8gdG9kbzogcmVmaW5lIHRoaXMgbWV0aG9kXG4gIHNldCBrZWVwUG9zaXRpb25IaXN0b3J5KHZhbHVlKSB7XG4gICAgdGhpcy5fa2VlcFBvc2l0aW9uSGlzdG9yeSA9IHZhbHVlO1xuICB9XG4gIGdldCBrZWVwUG9zaXRpb25IaXN0b3J5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9rZWVwUG9zaXRpb25IaXN0b3J5O1xuICB9XG4gIHByaXZhdGUgX2tlZXBQb3NpdGlvbkhpc3Rvcnk6IGJvb2xlYW4gPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmtlZXBQb3NpdGlvbkhpc3RvcnkgPyB0aGlzLm9wdGlvbnMua2VlcFBvc2l0aW9uSGlzdG9yeSA6IHRydWU7XG4qL1xuICAvKipcbiAgICogV2hldGhlciB0aGUgZ2VvbG9jYXRlIHNob3VsZCBzaG93IGEgYnVmZmVyIGFyb3VuZCB0aGUgY3VycmVudCBwb3NpdGlvblxuICAgKi9cbiAgIHNldCBidWZmZXIodmFsdWU6IEdlb2xvY2F0aW9uQnVmZmVyKSB7XG4gICAgdGhpcy5fYnVmZmVyID0gdmFsdWU7XG4gICAgdGhpcy5oYW5kbGVGZWF0dXJlQ3JlYXRpb24odGhpcy5wb3NpdGlvbiQudmFsdWUpO1xuICB9XG4gICBnZXQgYnVmZmVyKCk6IEdlb2xvY2F0aW9uQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYnVmZmVyO1xuICB9XG4gIHByaXZhdGUgX2J1ZmZlcjogR2VvbG9jYXRpb25CdWZmZXIgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmJ1ZmZlciA/IHRoaXMub3B0aW9ucy5idWZmZXIgOiB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGdlb2xvY2F0ZSBjb250cm9sbGVyIGFjY3VyYWN5IHRocmVzaG9sZCB0byBzdG9yZS9zaG93IHRoZSBwb3NpdGlvbi5cbiAgICovXG4gIHNldCBhY2N1cmFjeVRocmVzaG9sZCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fYWNjdXJhY3lUaHJlc2hvbGQgPSB2YWx1ZTtcbiAgICB0aGlzLmhhbmRsZUZlYXR1cmVDcmVhdGlvbih0aGlzLnBvc2l0aW9uJC52YWx1ZSk7XG4gIH1cblxuICBnZXQgYWNjdXJhY3lUaHJlc2hvbGQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYWNjdXJhY3lUaHJlc2hvbGQ7XG4gIH1cbiAgcHJpdmF0ZSBfYWNjdXJhY3lUaHJlc2hvbGQgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmFjY3VyYWN5VGhyZXNob2xkID8gdGhpcy5vcHRpb25zLmFjY3VyYWN5VGhyZXNob2xkIDogNTAwMDtcblxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3RpdmF0ZSB0aGUgZ2VvbG9jYXRpb24uXG4gICAqL1xuICBnZXQgdHJhY2tpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2VvbG9jYXRpb24uZ2V0VHJhY2tpbmcoKTtcbiAgfVxuXG4gIHNldCB0cmFja2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZ2VvbG9jYXRpb24uc2V0VHJhY2tpbmcodmFsdWUgfHwgZmFsc2UpO1xuICAgIHRoaXMudHJhY2tpbmckLm5leHQodmFsdWUpO1xuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdnZW9sb2NhdGlvbi50cmFja2luZycsIHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5wb3NpdGlvbiQubmV4dCh1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gICAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGl2YXRlIHRoZSB2aWV3IHRyYWNraW5nIG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uXG4gICAqL1xuICBzZXQgZm9sbG93UG9zaXRpb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb2xsb3dQb3NpdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuZm9sbG93UG9zaXRpb24kLm5leHQodmFsdWUpO1xuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2U/LmdldENvbmZpZygnZ2VvbG9jYXRlLmZvbGxvd1Bvc2l0aW9uJykgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLl9mb2xsb3dQb3NpdGlvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5mb2xsb3dQb3NpdGlvbiQubmV4dChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlRmVhdHVyZUNyZWF0aW9uKHRoaXMucG9zaXRpb24kLnZhbHVlKTtcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnZ2VvbG9jYXRpb24uZm9sbG93UG9zaXRpb24nLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZvbGxvd1Bvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9mb2xsb3dQb3NpdGlvbjtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBfZm9sbG93UG9zaXRpb24gPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmZvbGxvd1Bvc2l0aW9uID8gdGhpcy5vcHRpb25zLmZvbGxvd1Bvc2l0aW9uIDogZmFsc2U7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hcDogSWdvTWFwLFxuICAgIHByaXZhdGUgb3B0aW9ucz86IE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlck9wdGlvbnMsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZT86IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZT86IENvbmZpZ1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZ2VvbG9jYXRpb25PdmVybGF5ID0gbmV3IE92ZXJsYXkodGhpcy5tYXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBvciByZW1vdmUgdGhpcyBjb250cm9sbGVyIHRvL2Zyb20gYSBtYXAuXG4gICAqIEBwYXJhbSBtYXAgT0wgTWFwXG4gICAqL1xuICBzZXRPbE1hcChvbE1hcDogT2xNYXAgfCB1bmRlZmluZWQpIHtcbiAgICBzdXBlci5zZXRPbE1hcChvbE1hcCk7XG4gICAgdGhpcy5zZXR1cE9ic2VydmVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVHZW9sb2NhdGlvbkZlYXR1cmVzKCkge1xuICAgIHRoaXMuZGVsZXRlRmVhdHVyZUJ5VHlwZShHZW9sb2NhdGlvbk92ZXJsYXlUeXBlLlBvc2l0aW9uKTtcbiAgICB0aGlzLmRlbGV0ZUZlYXR1cmVCeVR5cGUoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5BY2N1cmFjeSk7XG4gICAgdGhpcy5kZWxldGVGZWF0dXJlQnlUeXBlKEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQnVmZmVyKTtcbiAgfVxuXG4gIHNldHVwT2JzZXJ2ZXJzKCkge1xuICAgIHRoaXMudHJhY2tpbmckLnN1YnNjcmliZSh0cmFja2luZyA9PiB7XG4gICAgICBpZiAodHJhY2tpbmcpIHtcbiAgICAgICAgdGhpcy5vblBvc2l0aW9uQ2hhbmdlKHRydWUsIHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kZWxldGVHZW9sb2NhdGlvbkZlYXR1cmVzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmdlb2xvY2F0aW9uID0gbmV3IG9sR2VvbG9jYXRpb24oe1xuICAgICAgLy8gZW5hYmxlSGlnaEFjY3VyYWN5IG11c3QgYmUgc2V0IHRvIHRydWUgdG8gaGF2ZSB0aGUgaGVhZGluZyB2YWx1ZS5cbiAgICAgIHRyYWNraW5nT3B0aW9uczoge1xuICAgICAgICBlbmFibGVIaWdoQWNjdXJhY3k6IHRydWUsXG4gICAgICAgIG1heGltdW1BZ2U6IDEwMDAwLFxuICAgICAgICB0aW1lb3V0OiA2MDAwMDBcbiAgICAgIH0sXG4gICAgICBwcm9qZWN0aW9uOiB0aGlzLm9wdGlvbnMucHJvamVjdGlvbixcbiAgICB9KTtcbiAgICBsZXQgdHJhY2tpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkJC5wdXNoKHRoaXMuZW1pc3Npb25JbnRlcnZhbFNlY29uZHMkXG4gICAgICAucGlwZShzd2l0Y2hNYXAodmFsdWUgPT4gaW50ZXJ2YWwodmFsdWUgKiAxMDAwKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRyYWNraW5nID09PSB0aGlzLnRyYWNraW5nKSB7XG4gICAgICAgICAgdGhpcy5vblBvc2l0aW9uQ2hhbmdlKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYWNraW5nID0gdGhpcy50cmFja2luZztcbiAgICAgICAgICB0aGlzLm9uUG9zaXRpb25DaGFuZ2UodHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVHZW9sb2NhdGlvbk9wdGlvbnMob3B0aW9uczogTWFwVmlld09wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHsgcmV0dXJuO31cbiAgICAvLyB0b2RvIG1heWJlIGEgZGVkaWNhdGVkIGludGVyZmFjZSBmb3IgZ2VvbG9jYXRpb24gc2hvdWxkIGJlIGRlZmluZWQgaW5zdGVhZCBvZiBwdXR0aW5nIHRoZXNlIGluc2lkZSB0aGUgbWFwdmlld29wdGlvbnM/XG4gICAgbGV0IHRyYWNraW5nID0gb3B0aW9ucy5nZW9sb2NhdGU7XG4gICAgbGV0IGZvbGxvd1Bvc2l0aW9uID0gb3B0aW9ucy5hbHdheXNUcmFja2luZztcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSkge1xuICAgICAgY29uc3Qgc3RvcmVkVHJhY2tpbmcgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnZ2VvbG9jYXRpb24udHJhY2tpbmcnKSBhcyBib29sZWFuO1xuICAgICAgaWYgKHN0b3JlZFRyYWNraW5nICE9PSBudWxsICYmIHN0b3JlZFRyYWNraW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHJhY2tpbmcgPSBzdG9yZWRUcmFja2luZztcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RvcmVkRm9sbG93UG9zaXRpb24gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnZ2VvbG9jYXRpb24uZm9sbG93UG9zaXRpb24nKSBhcyBib29sZWFuO1xuICAgICAgaWYgKHN0b3JlZEZvbGxvd1Bvc2l0aW9uICE9PSBudWxsICYmIHN0b3JlZEZvbGxvd1Bvc2l0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZm9sbG93UG9zaXRpb24gPSBzdG9yZWRGb2xsb3dQb3NpdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50cmFja2luZyA9IHRyYWNraW5nO1xuICAgIHRoaXMuZm9sbG93UG9zaXRpb24gPSBmb2xsb3dQb3NpdGlvbjtcbiAgICB0aGlzLmJ1ZmZlciA9IG9wdGlvbnMuYnVmZmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFRlYXJkb3duIGFueSBvYnNlcnZlcnNcbiAgICovXG4gIHRlYXJkb3duT2JzZXJ2ZXJzKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnMkJC5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQkLm1hcChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuICAgIHN1cGVyLnRlYXJkb3duT2JzZXJ2ZXJzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIHBvc2l0aW9uICBoaXN0b3J5XG4gICAqL1xuICAvKlxuICAvLyB0b2RvXG4gIGNsZWFyUG9zaXRpb25zSGlzdG9yeSgpIHtcbiAgICB0aGlzLnBvc2l0aW9ucyA9IFtdO1xuICB9Ki9cblxuICAvKipcbiAgICogT24gcG9zaXRpb24gY2hhbmdlLCBnZXQgdGhlIHBvc2l0aW9uLCBzaG93IGl0IG9uIHRoZSBtYXAgYW5kIHJlY29yZCBpdC5cbiAgICogQHBhcmFtIGVtaXRFdmVudCBNYXAgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgb25Qb3NpdGlvbkNoYW5nZShlbWl0RXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSwgem9vbVRvOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAoIXRoaXMudHJhY2tpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZ2VvbG9jYXRlUHJvcGVydGllcyA9IHRoaXMuZ2VvbG9jYXRpb24uZ2V0UHJvcGVydGllcygpO1xuXG4gICAgaWYgKGdlb2xvY2F0ZVByb3BlcnRpZXMuYWNjdXJhY3kgPiB0aGlzLmFjY3VyYWN5VGhyZXNob2xkKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1Bvb3IgZ2VvbG9jYXRpb24gYWNjdXJhY3kuIE5vIHBvc2l0aW9uIGFyZSBzdG9yZWQvc2hvd24nKTtcbiAgICAgIHRoaXMucG9zaXRpb24kLm5leHQodW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbjogTWFwR2VvbG9jYXRpb25TdGF0ZSA9IHtcbiAgICAgIHBvc2l0aW9uOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLnBvc2l0aW9uLFxuICAgICAgcHJvamVjdGlvbjogdGhpcy5nZW9sb2NhdGlvbi5nZXRQcm9qZWN0aW9uKCkuZ2V0Q29kZSgpLFxuICAgICAgYWNjdXJhY3k6IGdlb2xvY2F0ZVByb3BlcnRpZXMuYWNjdXJhY3ksXG4gICAgICBhbHRpdHVkZTogZ2VvbG9jYXRlUHJvcGVydGllcy5hbHRpdHVkZSxcbiAgICAgIGFsdGl0dWRlQWNjdXJhY3k6IGdlb2xvY2F0ZVByb3BlcnRpZXMuYWx0aXR1ZGVBY2N1cmFjeSxcbiAgICAgIGhlYWRpbmc6IGdlb2xvY2F0ZVByb3BlcnRpZXMuaGVhZGluZyxcbiAgICAgIHNwZWVkOiBnZW9sb2NhdGVQcm9wZXJ0aWVzLnNwZWVkLFxuICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiBnZW9sb2NhdGVQcm9wZXJ0aWVzLnRyYWNraW5nT3B0aW9ucz8uZW5hYmxlSGlnaEFjY3VyYWN5ID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpXG4gICAgfTtcbiAgICB0aGlzLmhhbmRsZUZlYXR1cmVDcmVhdGlvbihwb3NpdGlvbiwgem9vbVRvKTtcbiAgICBpZiAoZW1pdEV2ZW50KSB7XG4gICAgICB0aGlzLnBvc2l0aW9uJC5uZXh0KHBvc2l0aW9uKTtcbiAgICAgIC8qaWYgKHRoaXMua2VlcFBvc2l0aW9uSGlzdG9yeSA9PT0gdHJ1ZSkge1xuICAgICAgICAvLyBoYW5kbGUgcG9zaXRpb24gZGlmZiB0byBzdG9yZSBvbmx5IHRydWUgZGlmZjtcbiAgICAgICAgdGhpcy5wb3NpdGlvbnMucHVzaChwb3NpdGlvbik7XG4gICAgICB9Ki9cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUZlYXR1cmVCeVR5cGUodHlwZTogR2VvbG9jYXRpb25PdmVybGF5VHlwZSkge1xuICAgIGNvbnN0IGZlYXR1cmVCeUlkID0gdGhpcy5nZW9sb2NhdGlvbk92ZXJsYXkuZGF0YVNvdXJjZS5vbC5nZXRGZWF0dXJlQnlJZCh0eXBlKTtcbiAgICBpZiAoZmVhdHVyZUJ5SWQpIHtcbiAgICAgIHRoaXMuZ2VvbG9jYXRpb25PdmVybGF5LmRhdGFTb3VyY2Uub2wucmVtb3ZlRmVhdHVyZShmZWF0dXJlQnlJZCk7XG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUZlYXR1cmVDcmVhdGlvbihwb3NpdGlvbjogTWFwR2VvbG9jYXRpb25TdGF0ZSwgem9vbVRvOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAoIXBvc2l0aW9uIHx8ICFwb3NpdGlvbi5wb3NpdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRlbGV0ZUdlb2xvY2F0aW9uRmVhdHVyZXMoKTtcbiAgICBjb25zdCBwb3NpdGlvbkdlb21ldHJ5ID0gbmV3IFBvaW50KHBvc2l0aW9uLnBvc2l0aW9uKTtcbiAgICBjb25zdCBhY2N1cmFjeUdlb21ldHJ5ID0gZnJvbUNpcmNsZShuZXcgT2xDaXJjbGUocG9zaXRpb24ucG9zaXRpb24sIHBvc2l0aW9uLmFjY3VyYWN5IHx8IDApKTtcblxuICAgIGNvbnN0IHBvc2l0aW9uRmVhdHVyZSA9IG5ldyBvbEZlYXR1cmU8UG9pbnQ+KHsgZ2VvbWV0cnk6IHBvc2l0aW9uR2VvbWV0cnkgfSk7XG4gICAgY29uc3QgYWNjdXJhY3lGZWF0dXJlID0gbmV3IG9sRmVhdHVyZTxQb2x5Z29uPih7IGdlb21ldHJ5OiBhY2N1cmFjeUdlb21ldHJ5IH0pO1xuXG4gICAgaWYgKHBvc2l0aW9uR2VvbWV0cnkpIHtcbiAgICAgIGxldCBtb3Rpb24gPSB0aGlzLmZvbGxvd1Bvc2l0aW9uID8gRmVhdHVyZU1vdGlvbi5Nb3ZlIDogRmVhdHVyZU1vdGlvbi5Ob25lO1xuICAgICAgaWYgKHpvb21Ubykge1xuICAgICAgICBtb3Rpb24gPSBGZWF0dXJlTW90aW9uLlpvb207XG4gICAgICB9XG4gICAgICBwb3NpdGlvbkZlYXR1cmUuc2V0SWQoR2VvbG9jYXRpb25PdmVybGF5VHlwZS5Qb3NpdGlvbik7XG4gICAgICBwb3NpdGlvbkZlYXR1cmUuc2V0U3R5bGUodGhpcy5wb3NpdGlvbkZlYXR1cmVTdHlsZSk7XG4gICAgICB0aGlzLmdlb2xvY2F0aW9uT3ZlcmxheS5hZGRPbEZlYXR1cmUocG9zaXRpb25GZWF0dXJlLCBtb3Rpb24pO1xuICAgICAgaWYgKGFjY3VyYWN5R2VvbWV0cnkpIHtcbiAgICAgICAgYWNjdXJhY3lGZWF0dXJlLnNldElkKEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQWNjdXJhY3kpO1xuICAgICAgICBhY2N1cmFjeUZlYXR1cmUuc2V0U3R5bGUodGhpcy5hY2N1cmFjeUZlYXR1cmVTdHlsZSk7XG4gICAgICAgIHRoaXMuZ2VvbG9jYXRpb25PdmVybGF5LmFkZE9sRmVhdHVyZShhY2N1cmFjeUZlYXR1cmUsIG1vdGlvbik7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5idWZmZXIpIHtcbiAgICAgICAgY29uc3QgYnVmZmVyRmVhdHVyZSA9IG5ldyBvbEZlYXR1cmUobmV3IE9sQ2lyY2xlKHBvc2l0aW9uLnBvc2l0aW9uLCB0aGlzLmJ1ZmZlci5idWZmZXJSYWRpdXMpKTtcbiAgICAgICAgY29uc3QgYnVmZmVyU3R5bGUgPSBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2UoeyB3aWR0aDogMiwgY29sb3I6IHRoaXMuYnVmZmVyLmJ1ZmZlclN0cm9rZSB9KSxcbiAgICAgICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHsgY29sb3I6IHRoaXMuYnVmZmVyLmJ1ZmZlckZpbGwgfSksXG4gICAgICAgICAgdGV4dDogbmV3IG9sc3R5bGUuVGV4dCh7XG4gICAgICAgICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgICAgICAgIG9mZnNldFg6IDEwLFxuICAgICAgICAgICAgb2Zmc2V0WTogLTEwLFxuICAgICAgICAgICAgZm9udDogJzEycHggQ2FsaWJyaSxzYW5zLXNlcmlmJyxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuYnVmZmVyLnNob3dCdWZmZXJSYWRpdXMgPyBgJHt0aGlzLmJ1ZmZlci5idWZmZXJSYWRpdXN9bWAgOiAnJyxcbiAgICAgICAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoeyBjb2xvcjogJyMwMDAnIH0pLFxuICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2UoeyBjb2xvcjogJyNmZmYnLCB3aWR0aDogMyB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgICAgICBidWZmZXJGZWF0dXJlLnNldElkKEdlb2xvY2F0aW9uT3ZlcmxheVR5cGUuQnVmZmVyKTtcbiAgICAgICAgYnVmZmVyRmVhdHVyZS5zZXRTdHlsZShidWZmZXJTdHlsZSk7XG4gICAgICAgIHRoaXMuZ2VvbG9jYXRpb25PdmVybGF5LmFkZE9sRmVhdHVyZShidWZmZXJGZWF0dXJlLCBtb3Rpb24pO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiJdfQ==
|