@vcmap/core 6.0.0-rc.9 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/cesium.d.ts +117 -0
- package/dist/index.d.ts +14 -6
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/ol.d.ts +1 -0
- package/dist/src/cesium/cesium3DTileFeature.d.ts +2 -1
- package/dist/src/cesium/cesium3DTileFeature.js +13 -1
- package/dist/src/cesium/cesium3DTileFeature.js.map +1 -1
- package/dist/src/cesium/cesium3DTilePointFeature.js +2 -0
- package/dist/src/cesium/cesium3DTilePointFeature.js.map +1 -1
- package/dist/src/cesium/entity.js +3 -0
- package/dist/src/cesium/entity.js.map +1 -1
- package/dist/src/interaction/featureAtPixelInteraction.d.ts +4 -12
- package/dist/src/interaction/featureAtPixelInteraction.js +6 -27
- package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
- package/dist/src/layer/cesium/openStreetMapCesiumImpl.js +2 -4
- package/dist/src/layer/cesium/openStreetMapCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/rasterLayerCesiumImpl.d.ts +4 -0
- package/dist/src/layer/cesium/rasterLayerCesiumImpl.js +15 -0
- package/dist/src/layer/cesium/rasterLayerCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/singleImageCesiumImpl.js +2 -6
- package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/terrainCesiumImpl.js +3 -0
- package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/tmsCesiumImpl.js +1 -4
- package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vcsTile/vcsChildTile.d.ts +12 -0
- package/dist/src/layer/cesium/vcsTile/vcsChildTile.js +18 -0
- package/dist/src/layer/cesium/vcsTile/vcsChildTile.js.map +1 -0
- package/dist/src/layer/cesium/vcsTile/vcsDebugTile.d.ts +21 -0
- package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js +89 -0
- package/dist/src/layer/cesium/vcsTile/vcsDebugTile.js.map +1 -0
- package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.d.ts +11 -0
- package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js +17 -0
- package/dist/src/layer/cesium/vcsTile/vcsNoDataTile.js.map +1 -0
- package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.d.ts +39 -0
- package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js +192 -0
- package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js.map +1 -0
- package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.d.ts +52 -0
- package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.js +73 -0
- package/dist/src/layer/cesium/vcsTile/vcsTileHelpers.js.map +1 -0
- package/dist/src/layer/cesium/vcsTile/vcsVectorTile.d.ts +23 -0
- package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js +87 -0
- package/dist/src/layer/cesium/vcsTile/vcsVectorTile.js.map +1 -0
- package/dist/src/layer/cesium/vectorCesiumImpl.js +1 -1
- package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/vectorTileCesiumImpl.d.ts +19 -0
- package/dist/src/layer/cesium/vectorTileCesiumImpl.js +63 -0
- package/dist/src/layer/cesium/vectorTileCesiumImpl.js.map +1 -0
- package/dist/src/layer/cesium/wmsCesiumImpl.js +1 -4
- package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -1
- package/dist/src/layer/cesium/wmtsCesiumImpl.js +1 -4
- package/dist/src/layer/cesium/wmtsCesiumImpl.js.map +1 -1
- package/dist/src/layer/layer.d.ts +5 -0
- package/dist/src/layer/layer.js +5 -0
- package/dist/src/layer/layer.js.map +1 -1
- package/dist/src/layer/openStreetMapLayer.d.ts +32 -2
- package/dist/src/layer/openStreetMapLayer.js +35 -1
- package/dist/src/layer/openStreetMapLayer.js.map +1 -1
- package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js +2 -0
- package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.d.ts +2 -0
- package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js +4 -0
- package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js +2 -0
- package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/tmsOpenlayersImpl.js +2 -0
- package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.d.ts +1 -7
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +3 -35
- package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/wmsOpenlayersImpl.js +4 -0
- package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js +2 -0
- package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -1
- package/dist/src/layer/pointCloudLayer.d.ts +0 -1
- package/dist/src/layer/pointCloudLayer.js +2 -3
- package/dist/src/layer/pointCloudLayer.js.map +1 -1
- package/dist/src/layer/rasterLayer.d.ts +44 -3
- package/dist/src/layer/rasterLayer.js +43 -0
- package/dist/src/layer/rasterLayer.js.map +1 -1
- package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +0 -5
- package/dist/src/layer/tileProvider/mvtTileProvider.js +0 -12
- package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
- package/dist/src/layer/tileProvider/staticFeatureTileProvider.d.ts +14 -0
- package/dist/src/layer/tileProvider/staticFeatureTileProvider.js +44 -0
- package/dist/src/layer/tileProvider/staticFeatureTileProvider.js.map +1 -0
- package/dist/src/layer/tileProvider/tileProvider.d.ts +8 -2
- package/dist/src/layer/tileProvider/tileProvider.js +17 -1
- package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
- package/dist/src/layer/vectorLayer.d.ts +1 -1
- package/dist/src/layer/vectorLayer.js.map +1 -1
- package/dist/src/layer/vectorTileLayer.d.ts +13 -3
- package/dist/src/layer/vectorTileLayer.js +43 -13
- package/dist/src/layer/vectorTileLayer.js.map +1 -1
- package/dist/src/map/cesiumMap.d.ts +8 -1
- package/dist/src/map/cesiumMap.js +17 -6
- package/dist/src/map/cesiumMap.js.map +1 -1
- package/dist/src/ol/feature.js +7 -0
- package/dist/src/ol/feature.js.map +1 -1
- package/dist/src/style/declarativeStyleItem.js +2 -68
- package/dist/src/style/declarativeStyleItem.js.map +1 -1
- package/dist/src/util/displayQuality/displayQuality.d.ts +1 -0
- package/dist/src/util/displayQuality/displayQuality.js +12 -1
- package/dist/src/util/displayQuality/displayQuality.js.map +1 -1
- package/dist/src/util/editor/createFeatureSession.d.ts +8 -4
- package/dist/src/util/editor/createFeatureSession.js +35 -11
- package/dist/src/util/editor/createFeatureSession.js.map +1 -1
- package/dist/src/util/editor/editGeometrySession.d.ts +2 -1
- package/dist/src/util/editor/editGeometrySession.js +33 -12
- package/dist/src/util/editor/editGeometrySession.js.map +1 -1
- package/dist/src/util/editor/editorHelpers.d.ts +1 -0
- package/dist/src/util/editor/editorHelpers.js +6 -0
- package/dist/src/util/editor/editorHelpers.js.map +1 -1
- package/dist/src/util/editor/editorSessionHelpers.d.ts +1 -6
- package/dist/src/util/editor/editorSessionHelpers.js +5 -16
- package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +3 -2
- package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +1 -1
- package/dist/src/util/editor/interactions/removeVertexInteraction.js +2 -2
- package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/segmentLengthInteraction.d.ts +16 -0
- package/dist/src/util/editor/interactions/segmentLengthInteraction.js +167 -0
- package/dist/src/util/editor/interactions/segmentLengthInteraction.js.map +1 -0
- package/dist/src/util/editor/interactions/translateVertexInteraction.js +2 -6
- package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -1
- package/dist/src/util/editor/interactions/translationSnapping.js +3 -2
- package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -1
- package/dist/src/util/featureconverter/clampedPrimitive.d.ts +2 -2
- package/dist/src/util/featureconverter/clampedPrimitive.js +24 -2
- package/dist/src/util/featureconverter/clampedPrimitive.js.map +1 -1
- package/dist/src/util/featureconverter/convert.js +12 -3
- package/dist/src/util/featureconverter/convert.js.map +1 -1
- package/dist/src/util/geometryHelpers.d.ts +9 -1
- package/dist/src/util/geometryHelpers.js +54 -4
- package/dist/src/util/geometryHelpers.js.map +1 -1
- package/dist/src/util/math.d.ts +12 -0
- package/dist/src/util/math.js +21 -0
- package/dist/src/util/math.js.map +1 -1
- package/dist/src/util/projection.js +1 -1
- package/dist/src/util/projection.js.map +1 -1
- package/dist/src/vcsModule.d.ts +12 -12
- package/dist/src/vcsModule.js +8 -8
- package/dist/src/vcsModule.js.map +1 -1
- package/dist/tests/unit/helpers/cesiumHelpers.d.ts +2 -2
- package/dist/tests/unit/helpers/cesiumHelpers.js +2 -1
- package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
- package/index.ts +26 -2
- package/package.json +3 -3
- package/src/cesium/cesium.d.ts +117 -0
- package/src/cesium/cesium3DTileFeature.ts +20 -1
- package/src/cesium/cesium3DTilePointFeature.ts +3 -0
- package/src/cesium/entity.ts +7 -0
- package/src/interaction/featureAtPixelInteraction.ts +8 -39
- package/src/layer/cesium/openStreetMapCesiumImpl.ts +2 -4
- package/src/layer/cesium/rasterLayerCesiumImpl.ts +19 -0
- package/src/layer/cesium/singleImageCesiumImpl.ts +2 -6
- package/src/layer/cesium/terrainCesiumImpl.ts +3 -0
- package/src/layer/cesium/tmsCesiumImpl.ts +1 -4
- package/src/layer/cesium/vcsTile/vcsChildTile.ts +31 -0
- package/src/layer/cesium/vcsTile/vcsDebugTile.ts +154 -0
- package/src/layer/cesium/vcsTile/vcsNoDataTile.ts +30 -0
- package/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.ts +290 -0
- package/src/layer/cesium/vcsTile/vcsTileHelpers.ts +134 -0
- package/src/layer/cesium/vcsTile/vcsVectorTile.ts +149 -0
- package/src/layer/cesium/vectorCesiumImpl.ts +1 -1
- package/src/layer/cesium/vectorTileCesiumImpl.ts +91 -0
- package/src/layer/cesium/wmsCesiumImpl.ts +1 -4
- package/src/layer/cesium/wmtsCesiumImpl.ts +1 -4
- package/src/layer/layer.ts +5 -0
- package/src/layer/openStreetMapLayer.ts +64 -2
- package/src/layer/openlayers/openStreetMapOpenlayersImpl.ts +2 -0
- package/src/layer/openlayers/rasterLayerOpenlayersImpl.ts +6 -0
- package/src/layer/openlayers/singleImageOpenlayersImpl.ts +2 -0
- package/src/layer/openlayers/tmsOpenlayersImpl.ts +2 -0
- package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +3 -37
- package/src/layer/openlayers/wmsOpenlayersImpl.ts +4 -0
- package/src/layer/openlayers/wmtsOpenlayersImpl.ts +2 -0
- package/src/layer/pointCloudLayer.ts +2 -3
- package/src/layer/rasterLayer.ts +81 -2
- package/src/layer/tileProvider/mvtTileProvider.ts +0 -18
- package/src/layer/tileProvider/staticFeatureTileProvider.ts +61 -0
- package/src/layer/tileProvider/tileProvider.ts +27 -2
- package/src/layer/vectorLayer.ts +1 -1
- package/src/layer/vectorTileLayer.ts +72 -17
- package/src/map/cesiumMap.ts +28 -6
- package/src/ol/feature.ts +10 -0
- package/src/ol/ol.d.ts +1 -0
- package/src/style/declarativeStyleItem.ts +2 -72
- package/src/util/displayQuality/displayQuality.ts +13 -1
- package/src/util/editor/createFeatureSession.ts +51 -13
- package/src/util/editor/editGeometrySession.ts +41 -10
- package/src/util/editor/editorHelpers.ts +13 -0
- package/src/util/editor/editorSessionHelpers.ts +6 -20
- package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +4 -4
- package/src/util/editor/interactions/removeVertexInteraction.ts +3 -4
- package/src/util/editor/interactions/segmentLengthInteraction.ts +227 -0
- package/src/util/editor/interactions/translateVertexInteraction.ts +3 -10
- package/src/util/editor/interactions/translationSnapping.ts +4 -4
- package/src/util/featureconverter/clampedPrimitive.ts +53 -5
- package/src/util/featureconverter/convert.ts +18 -2
- package/src/util/geometryHelpers.ts +63 -4
- package/src/util/math.ts +28 -0
- package/src/util/projection.ts +1 -1
- package/src/vcsModule.ts +20 -20
|
@@ -6,6 +6,7 @@ import CesiumTilesetLayer, {
|
|
|
6
6
|
} from './cesiumTilesetLayer.js';
|
|
7
7
|
import DeclarativeStyleItem, {
|
|
8
8
|
DeclarativeStyleItemOptions,
|
|
9
|
+
defaultDeclarativeStyle,
|
|
9
10
|
} from '../style/declarativeStyleItem.js';
|
|
10
11
|
import VectorStyleItem, {
|
|
11
12
|
VectorStyleItemOptions,
|
|
@@ -20,8 +21,6 @@ export type PointCloudOptions = CesiumTilesetOptions & {
|
|
|
20
21
|
pointSize?: number | string;
|
|
21
22
|
};
|
|
22
23
|
|
|
23
|
-
export const defaultPointCloudStyle = new DeclarativeStyleItem({});
|
|
24
|
-
|
|
25
24
|
/**
|
|
26
25
|
* represents a specific PointCloudLayer layer for cesium.
|
|
27
26
|
* <h3>Config Parameter</h3>
|
|
@@ -71,7 +70,7 @@ class PointCloudLayer extends CesiumTilesetLayer {
|
|
|
71
70
|
): StyleItem {
|
|
72
71
|
return super.getStyleOrDefaultStyle(
|
|
73
72
|
styleOptions,
|
|
74
|
-
defaultStyle ||
|
|
73
|
+
defaultStyle || defaultDeclarativeStyle,
|
|
75
74
|
);
|
|
76
75
|
}
|
|
77
76
|
|
package/src/layer/rasterLayer.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
WebMercatorTilingScheme,
|
|
4
4
|
GeographicTilingScheme,
|
|
5
5
|
Cartographic,
|
|
6
|
+
ImageryLayer,
|
|
6
7
|
} from '@vcmap-cesium/engine';
|
|
7
8
|
import {
|
|
8
9
|
getBottomLeft,
|
|
@@ -30,15 +31,26 @@ import VcsMap from '../map/vcsMap.js';
|
|
|
30
31
|
|
|
31
32
|
export type RasterLayerOptions = LayerOptions & {
|
|
32
33
|
/**
|
|
33
|
-
* minLevel
|
|
34
|
+
* minLevel of the datasource (if not specified, calculated from extent)
|
|
34
35
|
* @default 0
|
|
35
36
|
*/
|
|
36
37
|
minLevel?: number;
|
|
37
38
|
/**
|
|
38
|
-
*
|
|
39
|
+
* maxlevel the datasource can provide the data.
|
|
39
40
|
* @default 18
|
|
40
41
|
*/
|
|
41
42
|
maxLevel?: number;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* configures the visible level in the rendered map. Maps to Openlayers `minZoom` and Cesium `minimiumTerrainLevel`
|
|
46
|
+
*/
|
|
47
|
+
minRenderingLevel?: number;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* configures the visible level in the rendered map. Maps to Openlayers `maxZoom` and Cesium `maximumTerrainLevel`
|
|
51
|
+
*/
|
|
52
|
+
maxRenderingLevel?: number;
|
|
53
|
+
|
|
42
54
|
tilingSchema?: TilingScheme;
|
|
43
55
|
/**
|
|
44
56
|
* opacity between 0 and 1
|
|
@@ -49,15 +61,24 @@ export type RasterLayerOptions = LayerOptions & {
|
|
|
49
61
|
* either 'left' or 'right', none if omitted
|
|
50
62
|
*/
|
|
51
63
|
splitDirection?: string;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* can be used to forward options to the cesium ImageryLayer
|
|
67
|
+
* @see https://cesium.com/learn/cesiumjs/ref-doc/ImageryLayer.html#.ConstructorOptions
|
|
68
|
+
*/
|
|
69
|
+
imageryLayerOptions?: ImageryLayer.ConstructorOptions;
|
|
52
70
|
};
|
|
53
71
|
|
|
54
72
|
export type RasterLayerImplementationOptions = LayerImplementationOptions & {
|
|
55
73
|
minLevel: number;
|
|
56
74
|
maxLevel: number;
|
|
75
|
+
minRenderingLevel?: number;
|
|
76
|
+
maxRenderingLevel?: number;
|
|
57
77
|
tilingSchema: TilingScheme;
|
|
58
78
|
opacity: number;
|
|
59
79
|
extent?: Extent;
|
|
60
80
|
splitDirection: SplitDirection;
|
|
81
|
+
imageryLayerOptions?: ImageryLayer.ConstructorOptions;
|
|
61
82
|
};
|
|
62
83
|
|
|
63
84
|
export interface RasterLayerImplementation {
|
|
@@ -166,9 +187,12 @@ class RasterLayer<
|
|
|
166
187
|
...Layer.getDefaultOptions(),
|
|
167
188
|
minLevel: 0,
|
|
168
189
|
maxLevel: 18,
|
|
190
|
+
minRenderingLevel: undefined,
|
|
191
|
+
maxRenderingLevel: undefined,
|
|
169
192
|
tilingSchema: TilingScheme.GEOGRAPHIC,
|
|
170
193
|
opacity: 1,
|
|
171
194
|
splitDirection: undefined,
|
|
195
|
+
imageryLayerOptions: undefined,
|
|
172
196
|
};
|
|
173
197
|
}
|
|
174
198
|
|
|
@@ -176,19 +200,47 @@ class RasterLayer<
|
|
|
176
200
|
|
|
177
201
|
/**
|
|
178
202
|
* The {@link TilingScheme} of this layer
|
|
203
|
+
* Changes require calling layer.redraw() to take effect.
|
|
179
204
|
*/
|
|
180
205
|
tilingSchema: TilingScheme;
|
|
181
206
|
|
|
207
|
+
/**
|
|
208
|
+
* The maximum level to load.
|
|
209
|
+
* Changes require calling layer.redraw() to take effect.
|
|
210
|
+
*/
|
|
182
211
|
maxLevel: number;
|
|
183
212
|
|
|
184
213
|
private _minLevel: number;
|
|
185
214
|
|
|
215
|
+
/**
|
|
216
|
+
* The minimum level to load.
|
|
217
|
+
* Changes require calling layer.redraw() to take effect.
|
|
218
|
+
*/
|
|
186
219
|
minLevel: number;
|
|
187
220
|
|
|
221
|
+
/**
|
|
222
|
+
* defines the visible level in the rendered map, maps to Openlayers `minZoom` and Cesium `minimiumTerrainLevel`.
|
|
223
|
+
* Changes requires calling layer.redraw() to take effect.
|
|
224
|
+
*/
|
|
225
|
+
minRenderingLevel: number | undefined;
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* defines the visible level in the rendered map, maps to Openlayers `minZoom` and Cesium `minimiumTerrainLevel`.
|
|
229
|
+
* Changes requires calling layer.redraw() to take effect.
|
|
230
|
+
*/
|
|
231
|
+
maxRenderingLevel: number | undefined;
|
|
232
|
+
|
|
188
233
|
private _opacity: number;
|
|
189
234
|
|
|
190
235
|
private _splitDirection: SplitDirection = SplitDirection.NONE;
|
|
191
236
|
|
|
237
|
+
/**
|
|
238
|
+
* can be used to forward options to the cesium ImageryLayer
|
|
239
|
+
* @see https://cesium.com/learn/cesiumjs/ref-doc/ImageryLayer.html#.ConstructorOptions
|
|
240
|
+
* Changes requires calling layer.redraw() to take effect.
|
|
241
|
+
*/
|
|
242
|
+
imageryLayerOptions: ImageryLayer.ConstructorOptions | undefined;
|
|
243
|
+
|
|
192
244
|
/**
|
|
193
245
|
* raised if the split direction changes, is passed the split direction as its only argument
|
|
194
246
|
*/
|
|
@@ -216,6 +268,16 @@ class RasterLayer<
|
|
|
216
268
|
this.maxLevel,
|
|
217
269
|
this._minLevel,
|
|
218
270
|
);
|
|
271
|
+
|
|
272
|
+
this.minRenderingLevel = parseInteger(
|
|
273
|
+
options.minRenderingLevel,
|
|
274
|
+
defaultOptions.minRenderingLevel,
|
|
275
|
+
);
|
|
276
|
+
this.maxRenderingLevel = parseInteger(
|
|
277
|
+
options.maxRenderingLevel,
|
|
278
|
+
defaultOptions.maxRenderingLevel,
|
|
279
|
+
);
|
|
280
|
+
|
|
219
281
|
this._opacity = parseNumberRange(
|
|
220
282
|
options.opacity,
|
|
221
283
|
defaultOptions.opacity as number,
|
|
@@ -229,6 +291,8 @@ class RasterLayer<
|
|
|
229
291
|
? SplitDirection.LEFT
|
|
230
292
|
: SplitDirection.RIGHT;
|
|
231
293
|
}
|
|
294
|
+
|
|
295
|
+
this.imageryLayerOptions = structuredClone(options.imageryLayerOptions);
|
|
232
296
|
}
|
|
233
297
|
|
|
234
298
|
/**
|
|
@@ -270,9 +334,12 @@ class RasterLayer<
|
|
|
270
334
|
...super.getImplementationOptions(),
|
|
271
335
|
minLevel: this.minLevel,
|
|
272
336
|
maxLevel: this.maxLevel,
|
|
337
|
+
minRenderingLevel: this.minRenderingLevel,
|
|
338
|
+
maxRenderingLevel: this.maxRenderingLevel,
|
|
273
339
|
tilingSchema: this.tilingSchema,
|
|
274
340
|
opacity: this.opacity,
|
|
275
341
|
splitDirection: this._splitDirection,
|
|
342
|
+
imageryLayerOptions: this.imageryLayerOptions,
|
|
276
343
|
};
|
|
277
344
|
|
|
278
345
|
if (this.extent?.isValid()) {
|
|
@@ -297,6 +364,14 @@ class RasterLayer<
|
|
|
297
364
|
config.maxLevel = this.maxLevel;
|
|
298
365
|
}
|
|
299
366
|
|
|
367
|
+
if (this.minRenderingLevel !== defaultOptions.minRenderingLevel) {
|
|
368
|
+
config.minRenderingLevel = this.minRenderingLevel;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
if (this.maxRenderingLevel !== defaultOptions.maxRenderingLevel) {
|
|
372
|
+
config.maxRenderingLevel = this.maxRenderingLevel;
|
|
373
|
+
}
|
|
374
|
+
|
|
300
375
|
if (this.tilingSchema !== defaultOptions.tilingSchema) {
|
|
301
376
|
config.tilingSchema = this.tilingSchema;
|
|
302
377
|
}
|
|
@@ -310,6 +385,10 @@ class RasterLayer<
|
|
|
310
385
|
this._splitDirection === SplitDirection.RIGHT ? 'right' : 'left';
|
|
311
386
|
}
|
|
312
387
|
|
|
388
|
+
if (this.imageryLayerOptions !== defaultOptions.imageryLayerOptions) {
|
|
389
|
+
config.imageryLayerOptions = structuredClone(this.imageryLayerOptions);
|
|
390
|
+
}
|
|
391
|
+
|
|
313
392
|
return config;
|
|
314
393
|
}
|
|
315
394
|
|
|
@@ -15,10 +15,6 @@ export type MVTTileProviderOptions = TileProviderOptions & {
|
|
|
15
15
|
* url to pbf tiled datasource {x}, {y}, {z} are placeholders for x, y, zoom
|
|
16
16
|
*/
|
|
17
17
|
url: string;
|
|
18
|
-
/**
|
|
19
|
-
* if property exists will be used to set the ID of the feature
|
|
20
|
-
*/
|
|
21
|
-
idProperty?: string;
|
|
22
18
|
};
|
|
23
19
|
|
|
24
20
|
/**
|
|
@@ -33,14 +29,11 @@ class MVTTileProvider extends TileProvider {
|
|
|
33
29
|
return {
|
|
34
30
|
...TileProvider.getDefaultOptions(),
|
|
35
31
|
url: '',
|
|
36
|
-
idProperty: undefined,
|
|
37
32
|
};
|
|
38
33
|
}
|
|
39
34
|
|
|
40
35
|
url: string;
|
|
41
36
|
|
|
42
|
-
idProperty: string | undefined;
|
|
43
|
-
|
|
44
37
|
private _MVTFormat = new MVT<Feature>({ featureClass: Feature });
|
|
45
38
|
|
|
46
39
|
constructor(options: MVTTileProviderOptions) {
|
|
@@ -48,7 +41,6 @@ class MVTTileProvider extends TileProvider {
|
|
|
48
41
|
super(options);
|
|
49
42
|
|
|
50
43
|
this.url = options.url || defaultOptions.url;
|
|
51
|
-
this.idProperty = options.idProperty || defaultOptions.idProperty;
|
|
52
44
|
}
|
|
53
45
|
|
|
54
46
|
get locale(): string {
|
|
@@ -84,12 +76,6 @@ class MVTTileProvider extends TileProvider {
|
|
|
84
76
|
const sx = (extent[2] - extent[0]) / 4096;
|
|
85
77
|
const sy = -((extent[3] - extent[1]) / 4096);
|
|
86
78
|
features.forEach((feature) => {
|
|
87
|
-
const idToUse = this.idProperty
|
|
88
|
-
? (feature.get(this.idProperty) as string)
|
|
89
|
-
: null;
|
|
90
|
-
if (idToUse != null) {
|
|
91
|
-
feature.setId(String(idToUse));
|
|
92
|
-
}
|
|
93
79
|
const geom = feature.getGeometry() as Geometry;
|
|
94
80
|
const flatCoordinates = geom.getFlatCoordinates();
|
|
95
81
|
const flatCoordinatesLength = flatCoordinates.length;
|
|
@@ -112,10 +98,6 @@ class MVTTileProvider extends TileProvider {
|
|
|
112
98
|
if (this.url) {
|
|
113
99
|
config.url = this.url;
|
|
114
100
|
}
|
|
115
|
-
|
|
116
|
-
if (this.idProperty) {
|
|
117
|
-
config.idProperty = this.idProperty;
|
|
118
|
-
}
|
|
119
101
|
return config as MVTTileProviderOptions;
|
|
120
102
|
}
|
|
121
103
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Feature } from 'ol';
|
|
2
|
+
import TileProvider, { TileProviderOptions } from './tileProvider.js';
|
|
3
|
+
|
|
4
|
+
export type StaticFeatureTileProviderOptions = Omit<
|
|
5
|
+
TileProviderOptions,
|
|
6
|
+
'baseLevels'
|
|
7
|
+
> & {
|
|
8
|
+
features: Feature[];
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default class StaticFeatureTileProvider extends TileProvider {
|
|
12
|
+
static get className(): string {
|
|
13
|
+
return 'StaticFeatureTileProvider';
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static getDefaultOptions(): StaticFeatureTileProviderOptions {
|
|
17
|
+
return {
|
|
18
|
+
...TileProvider.getDefaultOptions(),
|
|
19
|
+
features: [],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
private _features: Feature[];
|
|
24
|
+
|
|
25
|
+
constructor(options: StaticFeatureTileProviderOptions) {
|
|
26
|
+
const defaultOptions = StaticFeatureTileProvider.getDefaultOptions();
|
|
27
|
+
super({ ...options, baseLevels: [0] });
|
|
28
|
+
this._features = options.features || defaultOptions.features;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// eslint-disable-next-line no-unused-vars
|
|
32
|
+
loader(
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
34
|
+
_x: number,
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
36
|
+
_y: number,
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
38
|
+
_z: number,
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
40
|
+
_headers?: Record<string, string>,
|
|
41
|
+
): Promise<Feature[]> {
|
|
42
|
+
return Promise.resolve(this._features);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
toJSON(): StaticFeatureTileProviderOptions {
|
|
46
|
+
const config: TileProviderOptions = super.toJSON();
|
|
47
|
+
|
|
48
|
+
delete config.baseLevels;
|
|
49
|
+
const staticFeatureConfig: StaticFeatureTileProviderOptions = {
|
|
50
|
+
...structuredClone(config),
|
|
51
|
+
features: this._features,
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return staticFeatureConfig;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
destroy(): void {
|
|
58
|
+
this._features = [];
|
|
59
|
+
super.destroy();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -40,7 +40,8 @@ export type TileProviderRtree = RBush<TileProviderRTreeEntry>;
|
|
|
40
40
|
/**
|
|
41
41
|
* resolutions to levels
|
|
42
42
|
*/
|
|
43
|
-
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
44
|
+
export const mercatorResolutionsToLevel: Array<number> = new Array(25);
|
|
44
45
|
for (let i = 0; i < mercatorResolutionsToLevel.length; i++) {
|
|
45
46
|
mercatorResolutionsToLevel[i] = (20037508.3427892 * 2) / 256 / 2 ** (i + 1);
|
|
46
47
|
}
|
|
@@ -85,6 +86,11 @@ export type TileProviderOptions = VcsObjectOptions & {
|
|
|
85
86
|
* allows aggregation of tiles if requested minLevel is lower than provided baseLevels ( if true, allows for aggregating up to two levels (16 child tiles) into a tile)
|
|
86
87
|
*/
|
|
87
88
|
allowTileAggregation?: boolean;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* if property exists will be used to set the ID of the feature
|
|
92
|
+
*/
|
|
93
|
+
idProperty?: string;
|
|
88
94
|
};
|
|
89
95
|
|
|
90
96
|
export type TileLoadedEvent = {
|
|
@@ -109,6 +115,7 @@ class TileProvider extends VcsObject {
|
|
|
109
115
|
baseLevels: [15],
|
|
110
116
|
trackFeaturesToTiles: true,
|
|
111
117
|
allowTileAggregation: true,
|
|
118
|
+
idProperty: undefined,
|
|
112
119
|
};
|
|
113
120
|
}
|
|
114
121
|
|
|
@@ -147,6 +154,8 @@ class TileProvider extends VcsObject {
|
|
|
147
154
|
|
|
148
155
|
private _locale = 'en';
|
|
149
156
|
|
|
157
|
+
private _idProperty: string | undefined;
|
|
158
|
+
|
|
150
159
|
constructor(options: TileProviderOptions) {
|
|
151
160
|
super(options);
|
|
152
161
|
const defaultOptions = TileProvider.getDefaultOptions();
|
|
@@ -176,6 +185,8 @@ class TileProvider extends VcsObject {
|
|
|
176
185
|
options.allowTileAggregation,
|
|
177
186
|
defaultOptions.allowTileAggregation,
|
|
178
187
|
);
|
|
188
|
+
|
|
189
|
+
this._idProperty = options.idProperty || defaultOptions.idProperty;
|
|
179
190
|
}
|
|
180
191
|
|
|
181
192
|
/**
|
|
@@ -185,6 +196,10 @@ class TileProvider extends VcsObject {
|
|
|
185
196
|
return this._tileCacheSize;
|
|
186
197
|
}
|
|
187
198
|
|
|
199
|
+
get idProperty(): string | undefined {
|
|
200
|
+
return this._idProperty;
|
|
201
|
+
}
|
|
202
|
+
|
|
188
203
|
get locale(): string {
|
|
189
204
|
return this._locale;
|
|
190
205
|
}
|
|
@@ -258,6 +273,12 @@ class TileProvider extends VcsObject {
|
|
|
258
273
|
const rtreePromise: Promise<TileProviderRtree> = featuresPromise
|
|
259
274
|
.then((features) => {
|
|
260
275
|
features.forEach((feature) => {
|
|
276
|
+
const idToUse = this.idProperty
|
|
277
|
+
? (feature.get(this.idProperty) as string)
|
|
278
|
+
: null;
|
|
279
|
+
if (idToUse != null) {
|
|
280
|
+
feature.setId(String(idToUse));
|
|
281
|
+
}
|
|
261
282
|
if (!feature.getId()) {
|
|
262
283
|
feature.setId(uuidv4());
|
|
263
284
|
}
|
|
@@ -584,7 +605,7 @@ class TileProvider extends VcsObject {
|
|
|
584
605
|
* return fetch.get(url)
|
|
585
606
|
* .then(response => response.json())
|
|
586
607
|
* .then((data) => {
|
|
587
|
-
* const { features } =
|
|
608
|
+
* const { features } = parseGeoJSON(data.data, { dynamicStyle: true });
|
|
588
609
|
* return features;
|
|
589
610
|
* });
|
|
590
611
|
*/
|
|
@@ -625,6 +646,10 @@ class TileProvider extends VcsObject {
|
|
|
625
646
|
config.allowTileAggregation = this.allowTileAggregation;
|
|
626
647
|
}
|
|
627
648
|
|
|
649
|
+
if (this.idProperty) {
|
|
650
|
+
config.idProperty = this.idProperty;
|
|
651
|
+
}
|
|
652
|
+
|
|
628
653
|
return config;
|
|
629
654
|
}
|
|
630
655
|
|
package/src/layer/vectorLayer.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import Style, { type StyleFunction } from 'ol/style/Style.js';
|
|
2
2
|
import type { Feature } from 'ol/index.js';
|
|
3
3
|
import type { Size } from 'ol/size.js';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import {
|
|
5
|
+
parseBoolean,
|
|
6
|
+
parseStringLiteral,
|
|
7
|
+
parseInteger,
|
|
8
|
+
} from '@vcsuite/parsers';
|
|
6
9
|
import CesiumMap from '../map/cesiumMap.js';
|
|
7
10
|
import VectorRasterTileCesiumImpl from './cesium/vectorRasterTileCesiumImpl.js';
|
|
8
11
|
import OpenlayersMap from '../map/openlayersMap.js';
|
|
@@ -45,6 +48,7 @@ import GlobalHider from './globalHider.js';
|
|
|
45
48
|
import Extent from '../util/extent.js';
|
|
46
49
|
import VcsMap from '../map/vcsMap.js';
|
|
47
50
|
import StyleItem from '../style/styleItem.js';
|
|
51
|
+
import VectorTileCesiumImpl from './cesium/vectorTileCesiumImpl.js';
|
|
48
52
|
|
|
49
53
|
/**
|
|
50
54
|
* synchronizes featureVisibility Symbols on the feature;
|
|
@@ -55,24 +59,38 @@ function synchronizeFeatureVisibility(
|
|
|
55
59
|
feature: Feature,
|
|
56
60
|
): void {
|
|
57
61
|
const featureId = feature.getId() as string | number;
|
|
62
|
+
let changed = false;
|
|
58
63
|
if (featureVisibility.hiddenObjects[featureId]) {
|
|
59
64
|
feature[hidden] = true;
|
|
65
|
+
changed = true;
|
|
60
66
|
} else if (feature[hidden]) {
|
|
61
67
|
delete feature[hidden];
|
|
68
|
+
changed = true;
|
|
62
69
|
}
|
|
63
70
|
if (featureVisibility.highlightedObjects[featureId]) {
|
|
64
71
|
feature[highlighted] =
|
|
65
72
|
featureVisibility.highlightedObjects[featureId].style;
|
|
73
|
+
changed = true;
|
|
66
74
|
} else if (feature[highlighted]) {
|
|
67
75
|
delete feature[highlighted];
|
|
76
|
+
changed = true;
|
|
68
77
|
}
|
|
69
78
|
if (globalHider?.hiddenObjects[featureId]) {
|
|
70
79
|
feature[globalHidden] = true;
|
|
80
|
+
changed = true;
|
|
71
81
|
} else if (feature[globalHidden]) {
|
|
72
82
|
delete feature[globalHidden];
|
|
83
|
+
changed = true;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (changed) {
|
|
87
|
+
feature.changed();
|
|
73
88
|
}
|
|
74
89
|
}
|
|
75
90
|
|
|
91
|
+
const vectorTileRenderers = ['image', 'primitive'] as const;
|
|
92
|
+
export type VectorTileRenderer = (typeof vectorTileRenderers)[number];
|
|
93
|
+
|
|
76
94
|
export type VectorTileOptions = FeatureLayerOptions & {
|
|
77
95
|
tileProvider?: TileProviderOptions | TileProvider;
|
|
78
96
|
highlightStyle?: VectorStyleItemOptions | VectorStyleItem;
|
|
@@ -89,6 +107,8 @@ export type VectorTileOptions = FeatureLayerOptions & {
|
|
|
89
107
|
* used to forward declutter option to openlayers VectorTileLayer
|
|
90
108
|
*/
|
|
91
109
|
declutter?: boolean;
|
|
110
|
+
debug?: boolean;
|
|
111
|
+
renderer?: VectorTileRenderer;
|
|
92
112
|
};
|
|
93
113
|
|
|
94
114
|
export type VectorTileImplementationOptions =
|
|
@@ -99,10 +119,12 @@ export type VectorTileImplementationOptions =
|
|
|
99
119
|
maxLevel: number;
|
|
100
120
|
extent?: Extent;
|
|
101
121
|
declutter: boolean;
|
|
122
|
+
vectorProperties: VectorProperties;
|
|
123
|
+
debug?: boolean;
|
|
102
124
|
};
|
|
103
125
|
|
|
104
126
|
export interface VectorTileImplementation extends FeatureLayerImplementation {
|
|
105
|
-
updateTiles(tiles: string[]): void;
|
|
127
|
+
updateTiles(tiles: string[], featureVisibilityChange: boolean): void;
|
|
106
128
|
}
|
|
107
129
|
|
|
108
130
|
/**
|
|
@@ -110,7 +132,7 @@ export interface VectorTileImplementation extends FeatureLayerImplementation {
|
|
|
110
132
|
* @group Layer
|
|
111
133
|
*/
|
|
112
134
|
class VectorTileLayer extends FeatureLayer<
|
|
113
|
-
VectorTileOpenlayersImpl | VectorRasterTileCesiumImpl
|
|
135
|
+
VectorTileOpenlayersImpl | VectorRasterTileCesiumImpl | VectorTileCesiumImpl
|
|
114
136
|
> {
|
|
115
137
|
static get className(): string {
|
|
116
138
|
return 'VectorTileLayer';
|
|
@@ -127,6 +149,8 @@ class VectorTileLayer extends FeatureLayer<
|
|
|
127
149
|
minLevel: undefined,
|
|
128
150
|
maxLevel: undefined,
|
|
129
151
|
declutter: true,
|
|
152
|
+
debug: false,
|
|
153
|
+
renderer: 'image',
|
|
130
154
|
};
|
|
131
155
|
}
|
|
132
156
|
|
|
@@ -160,6 +184,10 @@ class VectorTileLayer extends FeatureLayer<
|
|
|
160
184
|
*/
|
|
161
185
|
private _styleZIndex = 0;
|
|
162
186
|
|
|
187
|
+
private _debug = false;
|
|
188
|
+
|
|
189
|
+
private _renderer: VectorTileRenderer;
|
|
190
|
+
|
|
163
191
|
/**
|
|
164
192
|
* @param options
|
|
165
193
|
*/
|
|
@@ -197,6 +225,12 @@ class VectorTileLayer extends FeatureLayer<
|
|
|
197
225
|
this._maxLevel = parseInteger(options.maxLevel, defaultOptions.maxLevel);
|
|
198
226
|
this._minLevel = parseInteger(options.minLevel, defaultOptions.minLevel);
|
|
199
227
|
this._declutter = parseBoolean(options.declutter, defaultOptions.declutter);
|
|
228
|
+
this._debug = parseBoolean(options.debug, defaultOptions.debug);
|
|
229
|
+
this._renderer = parseStringLiteral(
|
|
230
|
+
options.renderer,
|
|
231
|
+
vectorTileRenderers,
|
|
232
|
+
defaultOptions.renderer,
|
|
233
|
+
);
|
|
200
234
|
}
|
|
201
235
|
|
|
202
236
|
/**
|
|
@@ -224,12 +258,16 @@ class VectorTileLayer extends FeatureLayer<
|
|
|
224
258
|
// eslint-disable-next-line no-void
|
|
225
259
|
void this.reload();
|
|
226
260
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
261
|
+
|
|
262
|
+
if (this._renderer === 'image') {
|
|
263
|
+
// primitives dont need a feature provider
|
|
264
|
+
this.featureProvider = new TileProviderFeatureProvider(this.name, {
|
|
265
|
+
// XXX this overwrites
|
|
266
|
+
style: this.style,
|
|
267
|
+
tileProvider: this.tileProvider,
|
|
268
|
+
vectorProperties: this.vectorProperties,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
233
271
|
}
|
|
234
272
|
await super.initialize();
|
|
235
273
|
}
|
|
@@ -306,11 +344,12 @@ class VectorTileLayer extends FeatureLayer<
|
|
|
306
344
|
} else if (action === FeatureVisibilityAction.SHOW) {
|
|
307
345
|
delete feature[hidden];
|
|
308
346
|
}
|
|
347
|
+
feature.changed();
|
|
309
348
|
}
|
|
310
349
|
});
|
|
311
350
|
}
|
|
312
351
|
});
|
|
313
|
-
this.
|
|
352
|
+
this._updateTiles([...tileIdsChanged], true);
|
|
314
353
|
}),
|
|
315
354
|
];
|
|
316
355
|
|
|
@@ -338,24 +377,32 @@ class VectorTileLayer extends FeatureLayer<
|
|
|
338
377
|
} else if (action === FeatureVisibilityAction.SHOW) {
|
|
339
378
|
delete feature[globalHidden];
|
|
340
379
|
}
|
|
380
|
+
feature.changed();
|
|
341
381
|
}
|
|
342
382
|
});
|
|
343
383
|
}
|
|
344
384
|
});
|
|
345
|
-
this.
|
|
385
|
+
this._updateTiles([...tileIdsChanged], true);
|
|
346
386
|
}),
|
|
347
387
|
);
|
|
348
388
|
}
|
|
349
389
|
}
|
|
350
390
|
|
|
391
|
+
private _updateTiles(
|
|
392
|
+
tileIds: string[],
|
|
393
|
+
featureVisibilityChange?: boolean,
|
|
394
|
+
): void {
|
|
395
|
+
this.getImplementations().forEach((impl) => {
|
|
396
|
+
impl.updateTiles(tileIds, !!featureVisibilityChange);
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
|
|
351
400
|
/**
|
|
352
401
|
* rerenders the specified tiles
|
|
353
402
|
* rendering happens async
|
|
354
403
|
*/
|
|
355
404
|
updateTiles(tileIds: string[]): void {
|
|
356
|
-
this.
|
|
357
|
-
impl.updateTiles(tileIds);
|
|
358
|
-
});
|
|
405
|
+
this._updateTiles(tileIds);
|
|
359
406
|
}
|
|
360
407
|
|
|
361
408
|
/**
|
|
@@ -388,15 +435,23 @@ class VectorTileLayer extends FeatureLayer<
|
|
|
388
435
|
maxLevel: this._maxLevel,
|
|
389
436
|
extent: this.extent ?? new Extent(),
|
|
390
437
|
declutter: this._declutter,
|
|
438
|
+
vectorProperties: this.vectorProperties,
|
|
439
|
+
debug: this._debug,
|
|
391
440
|
};
|
|
392
441
|
}
|
|
393
442
|
|
|
394
443
|
createImplementationsForMap(
|
|
395
444
|
map: VcsMap,
|
|
396
|
-
): (
|
|
445
|
+
): (
|
|
446
|
+
| VectorTileCesiumImpl
|
|
447
|
+
| VectorRasterTileCesiumImpl
|
|
448
|
+
| VectorTileOpenlayersImpl
|
|
449
|
+
)[] {
|
|
397
450
|
if (map instanceof CesiumMap) {
|
|
398
451
|
return [
|
|
399
|
-
|
|
452
|
+
this._renderer === 'image'
|
|
453
|
+
? new VectorRasterTileCesiumImpl(map, this.getImplementationOptions())
|
|
454
|
+
: new VectorTileCesiumImpl(map, this.getImplementationOptions()),
|
|
400
455
|
];
|
|
401
456
|
}
|
|
402
457
|
|