@vcmap/core 6.3.3 → 6.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cesium/wallpaperMaterial.js +2 -2
- package/dist/src/cesium/wallpaperMaterial.js.map +1 -1
- package/dist/src/featureProvider/mapboxFeatureProvider.d.ts +1 -1
- package/dist/src/featureProvider/mapboxFeatureProvider.js +10 -1
- package/dist/src/featureProvider/mapboxFeatureProvider.js.map +1 -1
- package/dist/src/layer/mapboxStyleLayer.js +27 -0
- package/dist/src/layer/mapboxStyleLayer.js.map +1 -1
- package/package.json +6 -3
- package/src/cesium/wallpaperMaterial.js +2 -2
- package/src/featureProvider/mapboxFeatureProvider.ts +15 -2
- package/src/layer/mapboxStyleLayer.ts +42 -2
|
@@ -12,8 +12,8 @@ Material._materialCache.addMaterial('Wallpaper', {
|
|
|
12
12
|
anchor: new Cartesian2(0, 0),
|
|
13
13
|
},
|
|
14
14
|
components: {
|
|
15
|
-
diffuse: '
|
|
16
|
-
alpha: '
|
|
15
|
+
diffuse: 'texture(image, fract((gl_FragCoord.xy - anchor.xy) / vec2(imageDimensions.xy))).rgb',
|
|
16
|
+
alpha: 'texture(image, fract((gl_FragCoord.xy - anchor.xy) / vec2(imageDimensions.xy))).a',
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
translucent: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallpaperMaterial.js","sourceRoot":"","sources":["../../../src/cesium/wallpaperMaterial.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;GAEG;AAEH,wCAAwC;AACxC,gDAAgD;AAChD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE;IAC/C,MAAM,EAAE;QACN,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE;YACR,KAAK,EAAE,QAAQ,CAAC,cAAc;YAC9B,MAAM,EAAE,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7B;QACD,UAAU,EAAE;YACV,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"wallpaperMaterial.js","sourceRoot":"","sources":["../../../src/cesium/wallpaperMaterial.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;GAEG;AAEH,wCAAwC;AACxC,gDAAgD;AAChD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE;IAC/C,MAAM,EAAE;QACN,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE;YACR,KAAK,EAAE,QAAQ,CAAC,cAAc;YAC9B,MAAM,EAAE,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7B;QACD,UAAU,EAAE;YACV,OAAO,EACL,qFAAqF;YACvF,KAAK,EACH,mFAAmF;SACtF;KACF;IACD,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,4EAA4E;AAC5E,sBAAsB;AACtB,yEAAyE;AACzE,sFAAsF;AACtF,mEAAmE;AACnE,yBAAyB;AACzB,yBAAyB;AACzB,2BAA2B;AAC3B,iDAAiD;AACjD,4BAA4B;AAC5B,KAAK;AACL,EAAE;AACF,iEAAiE;AACjE,wBAAwB;AACxB,KAAK;AACL,EAAE;AACF,0EAA0E;AAC1E,mCAAmC;AACnC,iBAAiB;AACjB,2BAA2B;AAC3B,2BAA2B;AAC3B,SAAS;AACT,MAAM;AACN,EAAE;AACF,gCAAgC;AAChC,sHAAsH;AACtH,uCAAuC;AACvC,qDAAqD;AACrD,qDAAqD;AACrD,aAAa;AACb,mDAAmD;AACnD,MAAM;AACN,mBAAmB;AACnB,KAAK;AACL,EAAE;AACF,iEAAiE;AACjE,gCAAgC;AAChC,yDAAyD;AACzD,uCAAuC;AACvC,KAAK"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import LayerGroup from 'ol/layer/Group.js';
|
|
1
2
|
import type Feature from 'ol/Feature.js';
|
|
2
3
|
import type { Coordinate } from 'ol/coordinate.js';
|
|
3
|
-
import type LayerGroup from 'ol/layer/Group.js';
|
|
4
4
|
import type Layer from '../layer/layer.js';
|
|
5
5
|
import AbstractFeatureProvider, { type AbstractFeatureProviderOptions } from './abstractFeatureProvider.js';
|
|
6
6
|
export type MapboxFeatureProviderOptions = AbstractFeatureProviderOptions & {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { v4 as uuid } from 'uuid';
|
|
2
2
|
import OLMap from 'ol/Map.js';
|
|
3
|
+
import LayerGroup from 'ol/layer/Group.js';
|
|
4
|
+
import VectorTileLayer from 'ol/layer/VectorTile.js';
|
|
3
5
|
import { toFeature } from 'ol/render/Feature.js';
|
|
4
6
|
import { vcsLayerName } from '../layer/layerSymbols.js';
|
|
5
7
|
import AbstractFeatureProvider from './abstractFeatureProvider.js';
|
|
@@ -14,7 +16,14 @@ export default class MapboxFeatureProvider extends AbstractFeatureProvider {
|
|
|
14
16
|
constructor(options) {
|
|
15
17
|
super(options);
|
|
16
18
|
this._renderMap.setSize([256, 256]);
|
|
17
|
-
|
|
19
|
+
const pickerLayers = options.styledMapboxLayerGroup
|
|
20
|
+
.getLayersArray()
|
|
21
|
+
.filter((layer) => layer instanceof VectorTileLayer)
|
|
22
|
+
.map((layer) => new VectorTileLayer({
|
|
23
|
+
source: layer.getSource() ?? undefined,
|
|
24
|
+
style: layer.getStyleFunction() ?? undefined,
|
|
25
|
+
}));
|
|
26
|
+
this._renderMap.addLayer(new LayerGroup({ layers: pickerLayers }));
|
|
18
27
|
this._excludeLayerFromPicking = options.excludeLayerFromPicking;
|
|
19
28
|
}
|
|
20
29
|
getFeaturesByCoordinate(coordinate, resolution, layer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapboxFeatureProvider.js","sourceRoot":"","sources":["../../../src/featureProvider/mapboxFeatureProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"mapboxFeatureProvider.js","sourceRoot":"","sources":["../../../src/featureProvider/mapboxFeatureProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,6 +145,33 @@ class MapboxStyleLayer extends Layer {
|
|
|
145
145
|
}
|
|
146
146
|
toJSON(defaultOptions = MapboxStyleLayer.getDefaultOptions()) {
|
|
147
147
|
const config = { ...super.toJSON() };
|
|
148
|
+
if (config.featureProvider?.type ===
|
|
149
|
+
MapboxFeatureProvider.className) {
|
|
150
|
+
delete config.featureProvider;
|
|
151
|
+
}
|
|
152
|
+
else if (config.featureProvider?.type ===
|
|
153
|
+
CompositeFeatureProvider.className) {
|
|
154
|
+
const compositeConfig = config.featureProvider;
|
|
155
|
+
const featureProviders = (compositeConfig.featureProviders || []).filter((providerConfig) => providerConfig.type !==
|
|
156
|
+
MapboxFeatureProvider.className);
|
|
157
|
+
const attributeProviders = compositeConfig.attributeProviders || [];
|
|
158
|
+
if (featureProviders.length === 0 && attributeProviders.length === 0) {
|
|
159
|
+
delete config.featureProvider;
|
|
160
|
+
}
|
|
161
|
+
else if (featureProviders.length === 0 &&
|
|
162
|
+
attributeProviders.length === 1) {
|
|
163
|
+
config.featureProvider =
|
|
164
|
+
attributeProviders[0];
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
const filteredComposite = {
|
|
168
|
+
...compositeConfig,
|
|
169
|
+
featureProviders,
|
|
170
|
+
attributeProviders,
|
|
171
|
+
};
|
|
172
|
+
config.featureProvider = filteredComposite;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
148
175
|
if (this._sources && this._sources.length > 0) {
|
|
149
176
|
config.sources = this._sources.slice();
|
|
150
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapboxStyleLayer.js","sourceRoot":"","sources":["../../../src/layer/mapboxStyleLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,yBAAyB,MAAM,iDAAiD,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"mapboxStyleLayer.js","sourceRoot":"","sources":["../../../src/layer/mapboxStyleLayer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vcmap/core",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -53,10 +53,10 @@
|
|
|
53
53
|
"@types/sinon-chai": "^3.2.12",
|
|
54
54
|
"@vcsuite/eslint-config": "^4.0.0",
|
|
55
55
|
"c8": "^10.1.2",
|
|
56
|
-
"canvas": "^2.
|
|
56
|
+
"canvas": "^3.2.3",
|
|
57
57
|
"chai": "^4.4.1",
|
|
58
58
|
"chai-as-promised": "^8.0.1",
|
|
59
|
-
"jsdom": "^
|
|
59
|
+
"jsdom": "^26.1.0",
|
|
60
60
|
"jsdom-global": "^3.0.2",
|
|
61
61
|
"madge": "^8.0.0",
|
|
62
62
|
"mocha": "^10.0.0",
|
|
@@ -88,6 +88,9 @@
|
|
|
88
88
|
"rbush-knn": "^4.0.0",
|
|
89
89
|
"uuid": "^11.1.0"
|
|
90
90
|
},
|
|
91
|
+
"overrides": {
|
|
92
|
+
"serialize-javascript": "^7.0.5"
|
|
93
|
+
},
|
|
91
94
|
"engines": {
|
|
92
95
|
"node": "^20.0.0"
|
|
93
96
|
}
|
|
@@ -15,9 +15,9 @@ Material._materialCache.addMaterial('Wallpaper', {
|
|
|
15
15
|
},
|
|
16
16
|
components: {
|
|
17
17
|
diffuse:
|
|
18
|
-
'
|
|
18
|
+
'texture(image, fract((gl_FragCoord.xy - anchor.xy) / vec2(imageDimensions.xy))).rgb',
|
|
19
19
|
alpha:
|
|
20
|
-
'
|
|
20
|
+
'texture(image, fract((gl_FragCoord.xy - anchor.xy) / vec2(imageDimensions.xy))).a',
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
translucent: false,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { v4 as uuid } from 'uuid';
|
|
2
2
|
import OLMap from 'ol/Map.js';
|
|
3
|
+
import LayerGroup from 'ol/layer/Group.js';
|
|
4
|
+
import VectorTileLayer from 'ol/layer/VectorTile.js';
|
|
3
5
|
import type Feature from 'ol/Feature.js';
|
|
4
6
|
import type { Coordinate } from 'ol/coordinate.js';
|
|
5
|
-
import type LayerGroup from 'ol/layer/Group.js';
|
|
6
7
|
import type RenderFeature from 'ol/render/Feature.js';
|
|
7
8
|
import { toFeature } from 'ol/render/Feature.js';
|
|
8
9
|
import type Layer from '../layer/layer.js';
|
|
@@ -31,7 +32,19 @@ export default class MapboxFeatureProvider extends AbstractFeatureProvider {
|
|
|
31
32
|
super(options);
|
|
32
33
|
|
|
33
34
|
this._renderMap.setSize([256, 256]);
|
|
34
|
-
|
|
35
|
+
const pickerLayers = options.styledMapboxLayerGroup
|
|
36
|
+
.getLayersArray()
|
|
37
|
+
.filter(
|
|
38
|
+
(layer): layer is VectorTileLayer => layer instanceof VectorTileLayer,
|
|
39
|
+
)
|
|
40
|
+
.map(
|
|
41
|
+
(layer) =>
|
|
42
|
+
new VectorTileLayer({
|
|
43
|
+
source: layer.getSource() ?? undefined,
|
|
44
|
+
style: layer.getStyleFunction() ?? undefined,
|
|
45
|
+
}),
|
|
46
|
+
);
|
|
47
|
+
this._renderMap.addLayer(new LayerGroup({ layers: pickerLayers }));
|
|
35
48
|
this._excludeLayerFromPicking = options.excludeLayerFromPicking;
|
|
36
49
|
}
|
|
37
50
|
|
|
@@ -7,8 +7,12 @@ import type BaseLayer from 'ol/layer/Base.js';
|
|
|
7
7
|
import { apply } from 'ol-mapbox-style';
|
|
8
8
|
import { layerClassRegistry } from '../classRegistry.js';
|
|
9
9
|
import AbstractAttributeProvider from '../featureProvider/abstractAttributeProvider.js';
|
|
10
|
-
import CompositeFeatureProvider
|
|
11
|
-
|
|
10
|
+
import CompositeFeatureProvider, {
|
|
11
|
+
type CompositeFeatureProviderOptions,
|
|
12
|
+
} from '../featureProvider/compositeFeatureProvider.js';
|
|
13
|
+
import MapboxFeatureProvider, {
|
|
14
|
+
type MapboxFeatureProviderOptions,
|
|
15
|
+
} from '../featureProvider/mapboxFeatureProvider.js';
|
|
12
16
|
import type VcsMap from '../map/vcsMap.js';
|
|
13
17
|
import BaseCesiumMap from '../map/baseCesiumMap.js';
|
|
14
18
|
import CesiumMap from '../map/cesiumMap.js';
|
|
@@ -205,6 +209,42 @@ class MapboxStyleLayer
|
|
|
205
209
|
): MapboxStyleOptions {
|
|
206
210
|
const config: MapboxStyleOptions = { ...super.toJSON() };
|
|
207
211
|
|
|
212
|
+
if (
|
|
213
|
+
(config.featureProvider as MapboxFeatureProviderOptions)?.type ===
|
|
214
|
+
MapboxFeatureProvider.className
|
|
215
|
+
) {
|
|
216
|
+
delete config.featureProvider;
|
|
217
|
+
} else if (
|
|
218
|
+
(config.featureProvider as CompositeFeatureProviderOptions)?.type ===
|
|
219
|
+
CompositeFeatureProvider.className
|
|
220
|
+
) {
|
|
221
|
+
const compositeConfig =
|
|
222
|
+
config.featureProvider as CompositeFeatureProviderOptions;
|
|
223
|
+
const featureProviders = (compositeConfig.featureProviders || []).filter(
|
|
224
|
+
(providerConfig) =>
|
|
225
|
+
(providerConfig as MapboxFeatureProviderOptions).type !==
|
|
226
|
+
MapboxFeatureProvider.className,
|
|
227
|
+
);
|
|
228
|
+
const attributeProviders = compositeConfig.attributeProviders || [];
|
|
229
|
+
|
|
230
|
+
if (featureProviders.length === 0 && attributeProviders.length === 0) {
|
|
231
|
+
delete config.featureProvider;
|
|
232
|
+
} else if (
|
|
233
|
+
featureProviders.length === 0 &&
|
|
234
|
+
attributeProviders.length === 1
|
|
235
|
+
) {
|
|
236
|
+
config.featureProvider =
|
|
237
|
+
attributeProviders[0] as AbstractAttributeProvider;
|
|
238
|
+
} else {
|
|
239
|
+
const filteredComposite: CompositeFeatureProviderOptions = {
|
|
240
|
+
...compositeConfig,
|
|
241
|
+
featureProviders,
|
|
242
|
+
attributeProviders,
|
|
243
|
+
};
|
|
244
|
+
config.featureProvider = filteredComposite;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
208
248
|
if (this._sources && this._sources.length > 0) {
|
|
209
249
|
config.sources = this._sources.slice();
|
|
210
250
|
}
|