@vcmap/core 6.0.7 → 6.1.0-rc.2

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.
Files changed (146) hide show
  1. package/dist/cesium.d.ts +3 -0
  2. package/dist/index.d.ts +16 -1
  3. package/dist/index.js +16 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/ol.d.ts +8 -1
  6. package/dist/src/featureProvider/featureProviderSymbols.d.ts +5 -0
  7. package/dist/src/featureProvider/featureProviderSymbols.js +5 -1
  8. package/dist/src/featureProvider/featureProviderSymbols.js.map +1 -1
  9. package/dist/src/interaction/featureAtPixelInteraction.js +58 -62
  10. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
  11. package/dist/src/interaction/featureProviderInteraction.js +25 -13
  12. package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
  13. package/dist/src/layer/cesium/sourceVectorContextSync.d.ts +27 -0
  14. package/dist/src/layer/cesium/sourceVectorContextSync.js +94 -0
  15. package/dist/src/layer/cesium/sourceVectorContextSync.js.map +1 -0
  16. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +4 -27
  17. package/dist/src/layer/cesium/vectorCesiumImpl.js +15 -107
  18. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
  19. package/dist/src/layer/cesium/vectorContext.d.ts +12 -1
  20. package/dist/src/layer/cesium/vectorContext.js +6 -0
  21. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  22. package/dist/src/layer/layerSymbols.js +1 -1
  23. package/dist/src/layer/layerSymbols.js.map +1 -1
  24. package/dist/src/layer/oblique/sourceObliqueSync.d.ts +18 -0
  25. package/dist/src/layer/oblique/sourceObliqueSync.js +319 -0
  26. package/dist/src/layer/oblique/sourceObliqueSync.js.map +1 -0
  27. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +2 -40
  28. package/dist/src/layer/oblique/vectorObliqueImpl.js +8 -283
  29. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -1
  30. package/dist/src/layer/vectorLayer.d.ts +10 -1
  31. package/dist/src/layer/vectorLayer.js +23 -1
  32. package/dist/src/layer/vectorLayer.js.map +1 -1
  33. package/dist/src/map/baseOLMap.js +8 -1
  34. package/dist/src/map/baseOLMap.js.map +1 -1
  35. package/dist/src/map/cesiumMap.d.ts +2 -0
  36. package/dist/src/map/cesiumMap.js +26 -1
  37. package/dist/src/map/cesiumMap.js.map +1 -1
  38. package/dist/src/map/vcsMap.d.ts +24 -12
  39. package/dist/src/map/vcsMap.js +92 -38
  40. package/dist/src/map/vcsMap.js.map +1 -1
  41. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +6 -4
  42. package/dist/src/ol/source/ClusterEnhancedVectorSource.js +4 -9
  43. package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -1
  44. package/dist/src/ol/source/VcsCluster.d.ts +10 -10
  45. package/dist/src/ol/source/VcsCluster.js +23 -7
  46. package/dist/src/ol/source/VcsCluster.js.map +1 -1
  47. package/dist/src/util/clipping/clippingPolygonHelper.d.ts +7 -0
  48. package/dist/src/util/clipping/clippingPolygonHelper.js +53 -0
  49. package/dist/src/util/clipping/clippingPolygonHelper.js.map +1 -0
  50. package/dist/src/util/clipping/clippingPolygonObject.d.ts +59 -0
  51. package/dist/src/util/clipping/clippingPolygonObject.js +158 -0
  52. package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -0
  53. package/dist/src/util/clipping/clippingPolygonObjectCollection.d.ts +18 -0
  54. package/dist/src/util/clipping/clippingPolygonObjectCollection.js +167 -0
  55. package/dist/src/util/clipping/clippingPolygonObjectCollection.js.map +1 -0
  56. package/dist/src/util/layerCollection.d.ts +11 -1
  57. package/dist/src/util/layerCollection.js +67 -12
  58. package/dist/src/util/layerCollection.js.map +1 -1
  59. package/dist/src/util/mapCollection.d.ts +16 -1
  60. package/dist/src/util/mapCollection.js +37 -3
  61. package/dist/src/util/mapCollection.js.map +1 -1
  62. package/dist/src/util/renderScreenshot.d.ts +9 -0
  63. package/dist/src/util/renderScreenshot.js +162 -0
  64. package/dist/src/util/renderScreenshot.js.map +1 -0
  65. package/dist/src/util/rotation.d.ts +30 -0
  66. package/dist/src/util/rotation.js +145 -0
  67. package/dist/src/util/rotation.js.map +1 -0
  68. package/dist/src/util/vcsTemplate.d.ts +7 -0
  69. package/dist/src/util/vcsTemplate.js +248 -0
  70. package/dist/src/util/vcsTemplate.js.map +1 -0
  71. package/dist/src/vcsApp.d.ts +7 -0
  72. package/dist/src/vcsApp.js +29 -0
  73. package/dist/src/vcsApp.js.map +1 -1
  74. package/dist/src/vcsModule.d.ts +6 -2
  75. package/dist/src/vcsModule.js.map +1 -1
  76. package/dist/src/vectorCluster/vectorClusterCesiumContext.d.ts +18 -0
  77. package/dist/src/{layer/cesium/clusterContext.js → vectorCluster/vectorClusterCesiumContext.js} +28 -42
  78. package/dist/src/vectorCluster/vectorClusterCesiumContext.js.map +1 -0
  79. package/dist/src/vectorCluster/vectorClusterGroup.d.ts +96 -0
  80. package/dist/src/vectorCluster/vectorClusterGroup.js +320 -0
  81. package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -0
  82. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.d.ts +20 -0
  83. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js +115 -0
  84. package/dist/src/vectorCluster/vectorClusterGroupCesiumImpl.js.map +1 -0
  85. package/dist/src/vectorCluster/vectorClusterGroupCollection.d.ts +19 -0
  86. package/dist/src/vectorCluster/vectorClusterGroupCollection.js +37 -0
  87. package/dist/src/vectorCluster/vectorClusterGroupCollection.js.map +1 -0
  88. package/dist/src/vectorCluster/vectorClusterGroupImpl.d.ts +31 -0
  89. package/dist/src/vectorCluster/vectorClusterGroupImpl.js +76 -0
  90. package/dist/src/vectorCluster/vectorClusterGroupImpl.js.map +1 -0
  91. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.d.ts +17 -0
  92. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js +62 -0
  93. package/dist/src/vectorCluster/vectorClusterGroupObliqueImpl.js.map +1 -0
  94. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.d.ts +17 -0
  95. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js +62 -0
  96. package/dist/src/vectorCluster/vectorClusterGroupOpenlayersImpl.js.map +1 -0
  97. package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +110 -0
  98. package/dist/src/vectorCluster/vectorClusterStyleItem.js +374 -0
  99. package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -0
  100. package/dist/src/vectorCluster/vectorClusterSymbols.d.ts +1 -0
  101. package/dist/src/vectorCluster/vectorClusterSymbols.js +3 -0
  102. package/dist/src/vectorCluster/vectorClusterSymbols.js.map +1 -0
  103. package/index.ts +42 -1
  104. package/package.json +3 -1
  105. package/src/cesium/cesium.d.ts +3 -0
  106. package/src/featureProvider/featureProviderSymbols.ts +6 -1
  107. package/src/interaction/featureAtPixelInteraction.ts +109 -84
  108. package/src/interaction/featureProviderInteraction.ts +42 -28
  109. package/src/layer/cesium/sourceVectorContextSync.ts +134 -0
  110. package/src/layer/cesium/vcsTile/vcsDebugTile.ts +1 -1
  111. package/src/layer/cesium/vcsTile/vcsVectorTile.ts +1 -1
  112. package/src/layer/cesium/vectorCesiumImpl.ts +30 -144
  113. package/src/layer/cesium/vectorContext.ts +17 -1
  114. package/src/layer/layerSymbols.ts +1 -1
  115. package/src/layer/oblique/sourceObliqueSync.ts +436 -0
  116. package/src/layer/oblique/vectorObliqueImpl.ts +11 -397
  117. package/src/layer/vectorLayer.ts +35 -2
  118. package/src/map/baseOLMap.ts +8 -1
  119. package/src/map/cesiumMap.ts +36 -3
  120. package/src/map/vcsMap.ts +121 -47
  121. package/src/ol/ol.d.ts +8 -1
  122. package/src/ol/source/{ClusterEnhancedVectorSource.js → ClusterEnhancedVectorSource.ts} +7 -10
  123. package/src/ol/source/VcsCluster.ts +58 -0
  124. package/src/util/clipping/clippingPolygonHelper.ts +86 -0
  125. package/src/util/clipping/clippingPolygonObject.ts +223 -0
  126. package/src/util/clipping/clippingPolygonObjectCollection.ts +249 -0
  127. package/src/util/layerCollection.ts +90 -12
  128. package/src/util/mapCollection.ts +53 -2
  129. package/src/util/renderScreenshot.ts +193 -0
  130. package/src/util/rotation.ts +215 -0
  131. package/src/util/vcsTemplate.ts +373 -0
  132. package/src/vcsApp.ts +65 -0
  133. package/src/vcsModule.ts +6 -2
  134. package/src/vectorCluster/vectorClusterCesiumContext.ts +123 -0
  135. package/src/vectorCluster/vectorClusterGroup.ts +463 -0
  136. package/src/vectorCluster/vectorClusterGroupCesiumImpl.ts +176 -0
  137. package/src/vectorCluster/vectorClusterGroupCollection.ts +43 -0
  138. package/src/vectorCluster/vectorClusterGroupImpl.ts +107 -0
  139. package/src/vectorCluster/vectorClusterGroupObliqueImpl.ts +84 -0
  140. package/src/vectorCluster/vectorClusterGroupOpenlayersImpl.ts +81 -0
  141. package/src/vectorCluster/vectorClusterStyleItem.ts +490 -0
  142. package/src/vectorCluster/vectorClusterSymbols.ts +2 -0
  143. package/dist/src/layer/cesium/clusterContext.d.ts +0 -20
  144. package/dist/src/layer/cesium/clusterContext.js.map +0 -1
  145. package/src/layer/cesium/clusterContext.ts +0 -140
  146. package/src/ol/source/VcsCluster.js +0 -37
@@ -1,10 +1,12 @@
1
- /* eslint-disable @typescript-eslint/ban-ts-comment */
1
+ import { parseBoolean } from '@vcsuite/parsers';
2
2
  import { check } from '@vcsuite/check';
3
3
  import IndexedCollection from './indexedCollection.js';
4
4
  import ExclusiveManager from './exclusiveManager.js';
5
5
  import LayerState from '../layer/layerState.js';
6
6
  import VcsEvent from '../vcsEvent.js';
7
7
  import GlobalHider from '../layer/globalHider.js';
8
+ import VectorClusterGroupCollection from '../vectorCluster/vectorClusterGroupCollection.js';
9
+ import { destroyCollection } from '../vcsModuleHelpers.js';
8
10
  /**
9
11
  * The largest integer zindex which can be safely assigned to a layer (equal to Number.MAX_SAFE_INTEGER)
10
12
  * You should use this to ensure layers are always rendered on top.
@@ -46,13 +48,16 @@ class LayerCollection extends IndexedCollection {
46
48
  * The global hider for this collection.
47
49
  */
48
50
  _globalHider;
51
+ _vectorClusterGroups;
49
52
  /**
50
53
  * Locale for this layerCollection, will be synchronized by the vcsApp, if part of an vcsApp.
51
54
  * This Locale will be set on all Member Layers. On setting the Locale this will trigger a reload of all locale
52
55
  * aware layers.
53
56
  */
54
57
  _locale;
55
- constructor() {
58
+ _vectorClusterGroupListeners;
59
+ destroyVectorClusterGroupCollection;
60
+ constructor(options = {}) {
56
61
  super();
57
62
  this._layerEventListeners = {};
58
63
  this._zIndexSymbol = Symbol('zIndex');
@@ -60,6 +65,14 @@ class LayerCollection extends IndexedCollection {
60
65
  this.exclusiveManager = new ExclusiveManager();
61
66
  this._globalHider = new GlobalHider();
62
67
  this._locale = 'en';
68
+ if (options.vectorClusterGroupCollection) {
69
+ this._vectorClusterGroups = options.vectorClusterGroupCollection;
70
+ }
71
+ else {
72
+ this._vectorClusterGroups = new VectorClusterGroupCollection(this._globalHider);
73
+ }
74
+ this.destroyVectorClusterGroupCollection = parseBoolean(options.destroyVectorClusterGroupCollection, !options.vectorClusterGroupCollection);
75
+ this._setupVectorClusterGroupListeners();
63
76
  }
64
77
  /**
65
78
  * A symbol to describe the local z index of a layer. The local z index must not equal the layers z index, but is
@@ -85,6 +98,7 @@ class LayerCollection extends IndexedCollection {
85
98
  this._array.forEach((layer) => {
86
99
  layer.setGlobalHider(this._globalHider);
87
100
  });
101
+ this.vectorClusterGroups.globalHider = this._globalHider;
88
102
  }
89
103
  get locale() {
90
104
  return this._locale;
@@ -98,6 +112,9 @@ class LayerCollection extends IndexedCollection {
98
112
  });
99
113
  }
100
114
  }
115
+ get vectorClusterGroups() {
116
+ return this._vectorClusterGroups;
117
+ }
101
118
  _listenToLayerEvents(layer) {
102
119
  const stateListener = layer.stateChanged.addEventListener((state) => {
103
120
  if (state === LayerState.ACTIVE) {
@@ -117,6 +134,20 @@ class LayerCollection extends IndexedCollection {
117
134
  this.exclusiveManager.handleSplitDirectionChanged(layer);
118
135
  }));
119
136
  }
137
+ if (layer.vectorClusterGroupChanged) {
138
+ listeners.push(layer.vectorClusterGroupChanged.addEventListener(({ newGroup, oldGroup }) => {
139
+ if (oldGroup) {
140
+ this._vectorClusterGroups
141
+ .getByKey(oldGroup)
142
+ ?.removeLayer(layer);
143
+ }
144
+ if (newGroup) {
145
+ this._vectorClusterGroups
146
+ .getByKey(newGroup)
147
+ ?.addLayer(layer);
148
+ }
149
+ }));
150
+ }
120
151
  this._layerEventListeners[layer.name] = listeners;
121
152
  }
122
153
  /**
@@ -126,7 +157,7 @@ class LayerCollection extends IndexedCollection {
126
157
  */
127
158
  _findZIndexPosition(zIndex) {
128
159
  const usedIndex = this._array.findIndex(
129
- // @ts-ignore
160
+ // @ts-expect-error: z index is undefined
130
161
  (l) => l[this._zIndexSymbol] > zIndex);
131
162
  return usedIndex > -1 ? usedIndex : null;
132
163
  }
@@ -139,7 +170,7 @@ class LayerCollection extends IndexedCollection {
139
170
  _zIndexChanged(layer) {
140
171
  const currentIndex = this.indexOf(layer);
141
172
  if (currentIndex > -1) {
142
- // @ts-ignore
173
+ // @ts-expect-error: z index is undefined
143
174
  layer[this._zIndexSymbol] = layer.zIndex;
144
175
  let zIndexPosition = this._findZIndexPosition(layer.zIndex);
145
176
  if (zIndexPosition != null &&
@@ -160,25 +191,35 @@ class LayerCollection extends IndexedCollection {
160
191
  */
161
192
  _ensureLocalZIndex(layer) {
162
193
  const currentIndex = this.indexOf(layer);
163
- // @ts-ignore
194
+ // @ts-expect-error: z index is undefined
164
195
  const currentLayerZIndex = layer[this._zIndexSymbol];
165
196
  if (currentIndex > 0) {
166
- // @ts-ignore
197
+ // @ts-expect-error: z index is undefined
167
198
  const below = this._array[currentIndex - 1][this._zIndexSymbol];
168
199
  if (below > currentLayerZIndex) {
169
- // @ts-ignore
200
+ // @ts-expect-error: z index is undefined
170
201
  layer[this._zIndexSymbol] = below;
171
202
  }
172
203
  }
173
204
  if (currentIndex < this._array.length - 1) {
174
- // @ts-ignore
205
+ // @ts-expect-error: z index is undefined
175
206
  const above = this._array[currentIndex + 1][this._zIndexSymbol];
176
207
  if (above < currentLayerZIndex) {
177
- // @ts-ignore
208
+ // @ts-expect-error: z index is undefined
178
209
  layer[this._zIndexSymbol] = above;
179
210
  }
180
211
  }
181
212
  }
213
+ _setupVectorClusterGroupListeners() {
214
+ this._vectorClusterGroupListeners =
215
+ this._vectorClusterGroups.added.addEventListener((collection) => {
216
+ this._array
217
+ .filter((layer) => layer.vectorClusterGroup === collection.name)
218
+ .forEach((layer) => {
219
+ collection.addLayer(layer);
220
+ });
221
+ });
222
+ }
182
223
  /**
183
224
  * Adds a layer to the collection. Can optionally be passed an index at which to insert the layer.
184
225
  * The layer locale will be set to the same locale of the layerCollection. This will trigger a forceRedraw
@@ -194,13 +235,18 @@ class LayerCollection extends IndexedCollection {
194
235
  }
195
236
  const insertedAt = super.add(layer, usedIndex);
196
237
  if (insertedAt != null) {
197
- // @ts-ignore
238
+ // @ts-expect-error: z index is undefined
198
239
  layer[this._zIndexSymbol] = layer.zIndex;
199
240
  layer.setGlobalHider(this._globalHider);
200
241
  layer.locale = this.locale;
201
242
  this._ensureLocalZIndex(layer);
202
243
  this._listenToLayerEvents(layer);
203
244
  this.exclusiveManager.registerLayer(layer);
245
+ if (layer.vectorClusterGroup) {
246
+ this._vectorClusterGroups
247
+ .getByKey(layer.vectorClusterGroup)
248
+ ?.addLayer(layer);
249
+ }
204
250
  }
205
251
  return insertedAt;
206
252
  }
@@ -211,10 +257,15 @@ class LayerCollection extends IndexedCollection {
211
257
  });
212
258
  delete this._layerEventListeners[layer.name];
213
259
  }
214
- // @ts-ignore
260
+ // @ts-expect-error: z index is undefined
215
261
  delete layer[this._zIndexSymbol];
216
262
  layer.setGlobalHider();
217
263
  this.exclusiveManager.unregisterLayer(layer);
264
+ if (layer.vectorClusterGroup) {
265
+ this._vectorClusterGroups
266
+ .getByKey(layer.vectorClusterGroup)
267
+ ?.removeLayer(layer);
268
+ }
218
269
  return super._remove(layer);
219
270
  }
220
271
  clear() {
@@ -224,7 +275,7 @@ class LayerCollection extends IndexedCollection {
224
275
  r();
225
276
  });
226
277
  this._array.forEach((l) => {
227
- // @ts-ignore
278
+ // @ts-expect-error: z index is undefined
228
279
  delete l[this._zIndexSymbol];
229
280
  });
230
281
  this.exclusiveManager.clear();
@@ -240,6 +291,10 @@ class LayerCollection extends IndexedCollection {
240
291
  this._layerEventListeners = {};
241
292
  this.exclusiveManager.destroy();
242
293
  this._globalHider.destroy();
294
+ this._vectorClusterGroupListeners?.();
295
+ if (this.destroyVectorClusterGroupCollection) {
296
+ destroyCollection(this._vectorClusterGroups);
297
+ }
243
298
  super.destroy();
244
299
  }
245
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layerCollection.js","sourceRoot":"","sources":["../../../src/util/layerCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layerCollection.js","sourceRoot":"","sources":["../../../src/util/layerCollection.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,8 @@ declare class MapCollection extends Collection<VcsMap> {
61
61
  private _postRenderListener;
62
62
  /** Callback function that is passed when calling requestExclusiveMapControls and called when exclusive map controls are forcefully removed. */
63
63
  private _exclusiveMapControlsRemoved;
64
+ private _exclusiveMapControlsChanged;
65
+ private _exclusiveMapControlsId;
64
66
  constructor();
65
67
  /**
66
68
  * The currently active map
@@ -90,6 +92,17 @@ declare class MapCollection extends Collection<VcsMap> {
90
92
  * Raised on the active maps post render event
91
93
  */
92
94
  get postRender(): VcsEvent<VcsMapRenderEvent<VisualisationType>>;
95
+ /**
96
+ * Event raised when exclusive map controls are changed. If the Id is empty the default map controls have been reinstated
97
+ */
98
+ get exclusiveMapControlsChanged(): VcsEvent<{
99
+ options: DisableMapControlOptions;
100
+ id?: string | symbol;
101
+ }>;
102
+ /**
103
+ * The id of the current exclusive map controls owner.
104
+ */
105
+ get exclusiveMapControlsId(): string | symbol | undefined;
93
106
  /**
94
107
  * Adds a map to the collection. This will set the collections target
95
108
  * and the collections on the map.
@@ -118,9 +131,11 @@ declare class MapCollection extends Collection<VcsMap> {
118
131
  * Manages the disabling of map navigation controls. By calling this function the map navigation controls passed in the options are disabled. The remove function passed by the previous caller is executed.
119
132
  * @param options - which of the movement controls should be disabled.
120
133
  * @param removed - the callback for when the interaction is forcefully removed.
134
+ * @param id - an optional id to identify the owner of the exclusive map controls.
121
135
  * @returns function to reset map controls.
122
136
  */
123
- requestExclusiveMapControls(options: DisableMapControlOptions, removed: () => void): () => void;
137
+ requestExclusiveMapControls(options: DisableMapControlOptions, removed: () => void, id?: string | symbol): () => void;
138
+ resetExclusiveMapControls(): void;
124
139
  destroy(): void;
125
140
  }
126
141
  export default MapCollection;
@@ -1,5 +1,6 @@
1
1
  import { check, maybe, oneOf } from '@vcsuite/check';
2
2
  import { getLogger } from '@vcsuite/logger';
3
+ import { v4 as uuidv4 } from 'uuid';
3
4
  import VcsEvent from '../vcsEvent.js';
4
5
  import Collection from './collection.js';
5
6
  import EventHandler from '../interaction/eventHandler.js';
@@ -87,6 +88,8 @@ class MapCollection extends Collection {
87
88
  /** Callback function that is passed when calling requestExclusiveMapControls and called when exclusive map controls are forcefully removed. */
88
89
  // eslint-disable-next-line class-methods-use-this
89
90
  _exclusiveMapControlsRemoved = () => { };
91
+ _exclusiveMapControlsChanged = new VcsEvent();
92
+ _exclusiveMapControlsId;
90
93
  constructor() {
91
94
  super();
92
95
  this.clippingObjectManager = new ClippingObjectManager(this._layerCollection);
@@ -147,6 +150,18 @@ class MapCollection extends Collection {
147
150
  get postRender() {
148
151
  return this._postRender;
149
152
  }
153
+ /**
154
+ * Event raised when exclusive map controls are changed. If the Id is empty the default map controls have been reinstated
155
+ */
156
+ get exclusiveMapControlsChanged() {
157
+ return this._exclusiveMapControlsChanged;
158
+ }
159
+ /**
160
+ * The id of the current exclusive map controls owner.
161
+ */
162
+ get exclusiveMapControlsId() {
163
+ return this._exclusiveMapControlsId;
164
+ }
150
165
  /**
151
166
  * Adds a map to the collection. This will set the collections target
152
167
  * and the collections on the map.
@@ -312,24 +327,43 @@ class MapCollection extends Collection {
312
327
  * Manages the disabling of map navigation controls. By calling this function the map navigation controls passed in the options are disabled. The remove function passed by the previous caller is executed.
313
328
  * @param options - which of the movement controls should be disabled.
314
329
  * @param removed - the callback for when the interaction is forcefully removed.
330
+ * @param id - an optional id to identify the owner of the exclusive map controls.
315
331
  * @returns function to reset map controls.
316
332
  */
317
- requestExclusiveMapControls(options, removed) {
333
+ requestExclusiveMapControls(options, removed, id) {
318
334
  this._exclusiveMapControlsRemoved();
319
335
  if (this._activeMap) {
320
336
  this._activeMap.disableMovement(options);
321
337
  }
322
- this._exclusiveMapControlsRemoved = removed;
338
+ if (options.pointerEvents || options.keyEvents || options.apiCalls) {
339
+ this._exclusiveMapControlsId = id || uuidv4();
340
+ this._exclusiveMapControlsRemoved = removed;
341
+ }
342
+ else {
343
+ this._exclusiveMapControlsRemoved = () => { };
344
+ this._exclusiveMapControlsId = undefined;
345
+ }
346
+ this._exclusiveMapControlsChanged.raiseEvent({
347
+ options,
348
+ id: this._exclusiveMapControlsId,
349
+ });
323
350
  return () => {
324
351
  // only reset if this function is called by the current exclusiveMapControls owner.
325
352
  if (removed === this._exclusiveMapControlsRemoved) {
326
- this._exclusiveMapControlsRemoved = () => { };
327
353
  if (this._activeMap) {
328
354
  this._activeMap.disableMovement(false);
329
355
  }
356
+ this._exclusiveMapControlsRemoved = () => { };
357
+ this._exclusiveMapControlsId = undefined;
358
+ this._exclusiveMapControlsChanged.raiseEvent({
359
+ options: { apiCalls: false, keyEvents: false, pointerEvents: false },
360
+ });
330
361
  }
331
362
  };
332
363
  }
364
+ resetExclusiveMapControls() {
365
+ this.requestExclusiveMapControls({ keyEvents: false, apiCalls: false, pointerEvents: false }, () => { });
366
+ }
333
367
  destroy() {
334
368
  super.destroy();
335
369
  [...this._layerCollection].forEach((l) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapCollection.js","sourceRoot":"","sources":["../../../src/util/mapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AAmBxE,KAAK,UAAU,sBAAsB,CACnC,SAAoB,EACpB,KAAoB;IAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IACtC,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;IACxB,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IACxB,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACtB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;QAEvB,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YAC7B,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,MAAM,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,6DAA6D;AAC7D,aAAa;AACb,MAAM,aAAc,SAAQ,UAAkB;IAC5C;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,QAA0B;QACpC,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;QAEvC,IAAI,QAAQ,EAAE,CAAC;YACb,gDAAgD;YAChD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,UAAU,GAAkB,IAAI,CAAC;IAEjC,OAAO,GAAuB,IAAI,CAAC;IAE3C;;OAEG;IACK,gBAAgB,GAAqB,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAElC;;;OAGG;IACK,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;IAEjD;;OAEG;IACH,eAAe,GAA+C,IAAI,QAAQ,EAAE,CAAC;IAE7E;;;OAGG;IACH,oBAAoB,GAAqB,IAAI,QAAQ,EAAE,CAAC;IAExD;;OAEG;IACH,YAAY,GAAqB,IAAI,QAAQ,EAAE,CAAC;IAEhD;;OAEG;IACH,qBAAqB,CAAwB;IAErC,oBAAoB,GAAmB,EAAE,CAAC;IAE1C,cAAc,GAAG,GAAG,CAAC;IAE7B;;OAEG;IACH,oBAAoB,GAAqB,IAAI,QAAQ,EAAE,CAAC;IAEhD,WAAW,GAAG,IAAI,QAAQ,EAAwC,CAAC;IAE3E,kDAAkD;IAC1C,mBAAmB,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAEnD,+IAA+I;IAC/I,kDAAkD;IAC1C,4BAA4B,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAEpD,4BAA4B,GAAG,IAAI,QAAQ,EAG/C,CAAC;IAEG,uBAAuB,CAA8B;IAE7D;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CACpD,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,eAAe,CAAC,eAAgC;QAClD,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAExC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,QAAgB;QAChC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxB,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,2BAA2B;QAI7B,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,GAAG,CAAC,uBAAuB,CAAC,gBAAgB,CAC1C,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CACzD,CACF,CAAC;YACF,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC5C,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,OAAO,CAAC,GAAW;QAC3B,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpB,GAAG,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAA4B;QACpC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO;YACV,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;QAC5B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,SAAS,EAAE,CAAC,OAAO,CACjB,mCAAmC,WAAW,oBAAoB,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,wBAAwB,CAAC,GAAW;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CAChC,gCAAgC,OAAO,EAAE,CAC1C,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAED,IACE,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,SAAS,KAAK,WAAW;YACzC,GAAG,CAAC,SAAS,KAAK,eAAe,EACjC,CAAC;YACD,MAAM,sBAAsB,CAC1B,IAAI,CAAC,UAAuB,EAC5B,GAAoB,CACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6CAA6C;YAC7C,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAC9B,GAAG;gBACH,KAAK,EAAE,KAAc;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;YAED,SAAS,GAAG,IAAI,CAAC,UAAU;gBACzB,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBACtC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAE1B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,SAAsB,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChD,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,wBAAwB,GAA6B;YACzD,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,wBAAwB;YACjD,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,yBAAyB;YACnD,aAAa,EAAE,CAAC,CAAC,WAAW,EAAE,6BAA6B;SAC5D,CAAC;QACF,GAAG,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;QAC9C,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CACpE,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CACF,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,2BAA2B,CACzB,OAAiC,EACjC,OAAmB,EACnB,EAAoB;QAEpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,CAAC,uBAAuB,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,4BAA4B,GAAG,OAAO,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,4BAA4B,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;YACnD,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC;YAC3C,OAAO;YACP,EAAE,EAAE,IAAI,CAAC,uBAAuB;SACjC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,mFAAmF;YACnF,IAAI,OAAO,KAAK,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;gBAED,IAAI,CAAC,4BAA4B,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;gBAEzC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC;oBAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;iBACrE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,2BAA2B,CAC9B,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAC3D,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAE/B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvC,EAAE,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ import VcsApp from '../vcsApp.js';
2
+ /**
3
+ * Renders a screenshot of the active map in the VcsApp.
4
+ *
5
+ * @param app - The VcsApp instance containing the active map.
6
+ * @param width - The desired width of the screenshot.
7
+ * @returns A promise that resolves to the canvas element containing the screenshot.
8
+ */
9
+ export default function renderScreenshot(app: VcsApp, width: number): Promise<HTMLCanvasElement>;
@@ -0,0 +1,162 @@
1
+ import { getLogger } from '@vcsuite/logger';
2
+ import CesiumMap from '../map/cesiumMap.js';
3
+ import OpenlayersMap from '../map/openlayersMap.js';
4
+ import ObliqueMap from '../map/obliqueMap.js';
5
+ /**
6
+ * Prepares the cesium map for the screenshot
7
+ * @param map - The cesium map
8
+ * @param scale - The factor to scale the map according to the required resolution
9
+ * @returns The function to reset the applied scale.
10
+ */
11
+ function prepareCesiumMap(map, scale) {
12
+ const viewer = map.getCesiumWidget();
13
+ const { resolutionScale } = viewer;
14
+ viewer.resolutionScale = scale;
15
+ return function resetCesiumMap() {
16
+ viewer.resolutionScale = resolutionScale;
17
+ };
18
+ }
19
+ /**
20
+ * Returns a function to reset the OLMap to the original state.
21
+ * @param map - The map instance.
22
+ * @param renderSize - The size to set for rendering.
23
+ * @returns The function to reset the map.
24
+ */
25
+ function prepareOlMap(map, renderSize) {
26
+ const { olMap } = map;
27
+ if (olMap) {
28
+ const olSize = olMap.getSize();
29
+ const extent = olMap.getView().calculateExtent(olSize);
30
+ const originalMinZoom = olMap.getView().getMinZoom();
31
+ const originalMaxZoom = olMap.getView().getMaxZoom();
32
+ olMap.setSize(renderSize);
33
+ olMap.getView().setMinZoom(0);
34
+ olMap.getView().setMaxZoom(28);
35
+ olMap.getView().fit(extent, { size: renderSize });
36
+ olMap.set('vcs_scale', renderSize, true);
37
+ return function resetOlMap() {
38
+ olMap.setSize(olSize);
39
+ olMap.getView().setMinZoom(originalMinZoom);
40
+ olMap.getView().setMaxZoom(originalMaxZoom);
41
+ olMap.getView().fit(extent, { size: olSize });
42
+ olMap.unset('vcs_scale', true);
43
+ olMap.renderSync();
44
+ };
45
+ }
46
+ return () => { };
47
+ }
48
+ /**
49
+ * Copies Cesium content on the given canvas.
50
+ * @param map - The Cesium map instance.
51
+ * @returns A promise that resolves to the canvas element.
52
+ */
53
+ async function getImageFromCesium(map) {
54
+ const { scene } = map.getCesiumWidget();
55
+ return new Promise((resolve) => {
56
+ const removePreListener = scene.preUpdate.addEventListener(() => {
57
+ const { canvas } = scene;
58
+ const removePostListener = scene.postRender.addEventListener(() => {
59
+ resolve(canvas);
60
+ removePostListener();
61
+ });
62
+ removePreListener();
63
+ });
64
+ });
65
+ }
66
+ /**
67
+ * Copies Openlayers content on the given canvas
68
+ * @param map - The map instance.
69
+ * @param canvasSize - The size of the canvas.
70
+ * @returns A promise that resolves to the canvas element.
71
+ */
72
+ async function getImageFromOpenlayers(map, canvasSize) {
73
+ const canvas = document.createElement('canvas');
74
+ canvas.width = canvasSize[0];
75
+ canvas.height = canvasSize[1];
76
+ const { olMap } = map;
77
+ const canvasContext = canvas.getContext('2d');
78
+ // fill canvas with white so transparent pixels are not printed as black when exporting as jpeg.
79
+ canvasContext.fillStyle = 'white';
80
+ canvasContext.fillRect(0, 0, canvas.width, canvas.height);
81
+ await new Promise((resolve) => {
82
+ if (olMap) {
83
+ olMap.once('rendercomplete', () => {
84
+ const olLayerCanvasList = Array.from(olMap
85
+ .getViewport()
86
+ .querySelectorAll('.ol-layer canvas'));
87
+ olLayerCanvasList.forEach((layerCanvas) => {
88
+ if (layerCanvas.width > 0) {
89
+ const opacity = (layerCanvas.parentNode instanceof HTMLElement
90
+ ? layerCanvas.parentNode.style.opacity
91
+ : '') || layerCanvas.style.opacity;
92
+ canvasContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
93
+ const { transform } = layerCanvas.style;
94
+ const matrix = transform
95
+ .match(/^matrix\(([^(]*)\)$/)?.[1]
96
+ .split(',')
97
+ .map(Number);
98
+ if (matrix) {
99
+ canvasContext.setTransform(...matrix);
100
+ }
101
+ canvasContext.drawImage(layerCanvas, 0, 0);
102
+ }
103
+ });
104
+ resolve();
105
+ });
106
+ }
107
+ });
108
+ return canvas;
109
+ }
110
+ /**
111
+ * Renders a screenshot of the active map in the VcsApp.
112
+ *
113
+ * @param app - The VcsApp instance containing the active map.
114
+ * @param width - The desired width of the screenshot.
115
+ * @returns A promise that resolves to the canvas element containing the screenshot.
116
+ */
117
+ export default async function renderScreenshot(app, width) {
118
+ let screenshotCanvas;
119
+ function calcRenderSize(mapSize, screenshotWidth) {
120
+ const aspectRatio = mapSize[0] / mapSize[1];
121
+ return [screenshotWidth, screenshotWidth / aspectRatio];
122
+ }
123
+ function checkChromeMaxPixel(renderSize, threshold) {
124
+ const totalPixelCount = renderSize[0] * renderSize[1];
125
+ if (totalPixelCount > threshold && 'chrome' in window) {
126
+ getLogger('@vcmap/print').warning(`The created image might have black bars at some of the edges. This is due to a behavior of chromium based browsers
127
+ that occurs when the total pixel count of the cesium map exceeds a threshold of thirty-three million pixels.
128
+ In order to avoid this either reduce the resolution or switch to Mozilla Firefox browser.`);
129
+ }
130
+ }
131
+ /**
132
+ * Function for resetting map after screenshot processes finished.
133
+ */
134
+ let resetMap;
135
+ const map = app.maps.activeMap;
136
+ if (map instanceof CesiumMap) {
137
+ const { canvas } = map.getCesiumWidget().scene;
138
+ const canvasWidth = canvas.width;
139
+ const canvasHeight = canvas.height;
140
+ // check if render size is above chromium threshold
141
+ checkChromeMaxPixel(calcRenderSize([canvasWidth, canvasHeight], width), 33000000);
142
+ const scale = width / canvasWidth;
143
+ resetMap = prepareCesiumMap(map, scale);
144
+ screenshotCanvas = await getImageFromCesium(map);
145
+ }
146
+ else if (map instanceof OpenlayersMap || map instanceof ObliqueMap) {
147
+ const biggestCanvas = Array.from(map
148
+ .olMap.getViewport()
149
+ .querySelectorAll('.ol-layer canvas')).reduce((acc, val) => (acc.width > val.width ? val : acc));
150
+ const canvasWidth = biggestCanvas.width;
151
+ const canvasHeight = biggestCanvas.height;
152
+ const renderSize = calcRenderSize([canvasWidth, canvasHeight], width);
153
+ resetMap = prepareOlMap(map, renderSize);
154
+ screenshotCanvas = await getImageFromOpenlayers(map, renderSize);
155
+ }
156
+ else {
157
+ throw new Error('wrong Map');
158
+ }
159
+ resetMap();
160
+ return screenshotCanvas;
161
+ }
162
+ //# sourceMappingURL=renderScreenshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderScreenshot.js","sourceRoot":"","sources":["../../../src/util/renderScreenshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { Cartesian3, JulianDate, HeadingPitchRollValues } from '@vcmap-cesium/engine';
2
+ import Viewpoint from './viewpoint.js';
3
+ import VcsApp from '../vcsApp.js';
4
+ import { CesiumMap } from '../../index.js';
5
+ /**
6
+ * Unique symbol for rotation.
7
+ * @type {symbol}
8
+ */
9
+ export declare const rotationMapControlSymbol: unique symbol;
10
+ export type SetViewOptions = {
11
+ destination: Cartesian3;
12
+ orientation: HeadingPitchRollValues;
13
+ };
14
+ /**
15
+ * Rotates the center of the map.
16
+ * @param {number} heading - The current heading of the view.
17
+ * @param {CesiumMap} activeMap - The current Cesium Map.
18
+ * @param {number} timePerRotation - The current rotation speed.
19
+ * @param {JulianDate} [timeLastTick] - The time of the last tick.
20
+ * @returns {number | undefined} The new heading.
21
+ */
22
+ export declare function calculateRotation(heading: number, activeMap: CesiumMap, timePerRotation: number, timeLastTick?: JulianDate): number;
23
+ /**
24
+ * Starts the rotation of the map.
25
+ * @param app - The VCS application instance.
26
+ * @param [viewpoint] - The optional viewpoint to start the rotation from, if no viewpoint is provided the current Viewpoint is used.
27
+ * @param [timePerRotation=60] - The duration of a single full rotation in seconds.
28
+ * @returns A function to stop the rotation.
29
+ */
30
+ export declare function startRotation(app: VcsApp, viewpoint?: Viewpoint, timePerRotation?: number): Promise<() => void>;