@vcmap/ui 6.3.0-rc.2 → 6.3.0-rc.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/config/base.config.json +38 -2
- package/config/i3s.config.json +289 -0
- package/config/projects.config.json +2 -1
- package/dist/assets/cesium/Workers/{chunk-VQYEP77L.js → chunk-25GKYUTE.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-ADDGROZ6.js → chunk-2YLFEJBO.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-YVAS5WPH.js → chunk-377PQSNI.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-XH7MSR3A.js → chunk-3ZPY2PK4.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-RQ4F6YFU.js → chunk-4PGWOP4B.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-2PFJ45KC.js → chunk-4ZK2KYL4.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-C33B4KHN.js → chunk-5WJMERAN.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-565T3GIE.js → chunk-7EAUBVJK.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-KFHZFU5O.js → chunk-7GYG7GFP.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-MZSRINXK.js → chunk-7HYVKUHW.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-6Z67VIOY.js → chunk-AH5XCS4U.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-I4NB77NH.js → chunk-AMEDKAYK.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-Q4OS4EFN.js → chunk-AOHTVYLZ.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-TKNA6WSZ.js → chunk-ASFMJYED.js} +17 -17
- package/dist/assets/cesium/Workers/{chunk-BABDQOWA.js → chunk-BIO5WQ45.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-6JXJYBWN.js → chunk-BN6F7MQW.js} +9 -9
- package/dist/assets/cesium/Workers/{chunk-PNZR4RLL.js → chunk-BVGZUFZD.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-MB6B2UUL.js → chunk-CPFEKTJZ.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-YSVI7YNN.js → chunk-DBI7V7P2.js} +9 -9
- package/dist/assets/cesium/Workers/{chunk-WKS5H3VW.js → chunk-DHZDKW7K.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-WPGX7DEA.js → chunk-EGKAEYOR.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-NBI3GZSK.js → chunk-EZ2SSNRV.js} +17 -17
- package/dist/assets/cesium/Workers/{chunk-NUAXNUP5.js → chunk-F2G2I7PT.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-FIFQP4YX.js → chunk-FH6FGFJI.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-35EJBV7X.js → chunk-FRMRYV7K.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-HOGDZ2EB.js → chunk-GEEF6IDX.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-5LGDCKCZ.js → chunk-GRDHZCD6.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-EWS5LXAB.js → chunk-H26IFUMX.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-JX4A2BCF.js → chunk-HOOXVR67.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-SB67D3JL.js → chunk-IOCRO2KQ.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-4FHUY275.js → chunk-J3GRKF4N.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-ASYGMBRG.js → chunk-J6TQEGIR.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-EGGJIATZ.js → chunk-JRBLIH2L.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-QLIMO7TQ.js → chunk-LIFTAXGR.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-KYGXRFA6.js → chunk-LJKPRFUK.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-Z4QVAZM6.js → chunk-M23OMI5J.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-CMCR2ZK4.js → chunk-N5MOVBVQ.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-TC4NTWIJ.js → chunk-PDKWOUHF.js} +14 -14
- package/dist/assets/cesium/Workers/{chunk-Q4K22DSJ.js → chunk-PW5HRVFO.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-K6PDUSH6.js → chunk-VE7FK6UD.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-LWN2B3KW.js → chunk-VP7D4KWF.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-BQHHGIFB.js → chunk-VQYUZREJ.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-LNWNAP2C.js → chunk-VUJ3TQNO.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-6RAEC3AW.js → chunk-WFO5SEFF.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-X3EPFVG3.js → chunk-WI2ZYGUU.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-ZXOK77EW.js → chunk-WLWCBEFY.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-35ALNMG5.js → chunk-X5IAGLZL.js} +15 -15
- package/dist/assets/cesium/Workers/{chunk-LXLABO2L.js → chunk-XFGR3WAP.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-3E3OH65K.js → chunk-Y73YBNAE.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-SS6WRJ5J.js → chunk-YDK3NLYN.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-YDEBBUNQ.js → chunk-YZULEYZE.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-FDXPBTSX.js → chunk-ZS6GCNNC.js} +12 -12
- package/dist/assets/cesium/Workers/combineGeometry.js +22 -22
- package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -14
- package/dist/assets/cesium/Workers/createCircleGeometry.js +24 -24
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +31 -31
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +27 -27
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +26 -26
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -18
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -24
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createGeometry.js +22 -22
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +20 -20
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -14
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -13
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +30 -30
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +28 -28
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +23 -23
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +29 -29
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +25 -25
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +18 -18
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +21 -21
- package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +13 -13
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -22
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -20
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +13 -13
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +20 -20
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
- package/dist/assets/cesium/Workers/createWallGeometry.js +22 -22
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +21 -21
- package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/dist/assets/cesium/Workers/decodeI3S.js +10 -10
- package/dist/assets/cesium/Workers/transcodeKTX2.js +7 -7
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +20 -20
- package/dist/assets/{cesium-8369e63b.js → cesium-6c503c0b.js} +135763 -135775
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-c23fc5f1.js → core-8d7ae8e0.js} +10990 -10313
- package/dist/assets/core-workers/panoramaImageWorker.js +1 -1
- package/dist/assets/core.js +1 -1
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui-e61976d4.css → ui-17b738da.css} +1 -1
- package/dist/assets/{ui-e61976d4.js → ui-17b738da.js} +10304 -10027
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-de6f6eb0.js → vuetify-2cf9482d.js} +1 -1
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +13 -1
- package/index.js +7 -0
- package/package.json +3 -3
- package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +5 -1
- package/plugins/package.json +3 -2
- package/src/actions/extentActions.d.ts +8 -1
- package/src/actions/extentActions.js +32 -1
- package/src/application/VcsNavbar.vue +8 -1
- package/src/application/VcsNavbar.vue.d.ts +8 -0
- package/src/callback/activateClippingPolygonCallback.d.ts +1 -0
- package/src/callback/activateLayersCallback.d.ts +1 -0
- package/src/callback/activateMapCallback.d.ts +4 -0
- package/src/callback/activateOverviewMapCallback.d.ts +1 -0
- package/src/callback/addModuleCallback.d.ts +1 -0
- package/src/callback/applyLayerStyleCallback.d.ts +1 -0
- package/src/callback/closeSplashScreenCallback.d.ts +1 -0
- package/src/callback/deactivateClippingPolygonCallback.d.ts +1 -0
- package/src/callback/deactivateLayersCallback.d.ts +1 -0
- package/src/callback/deactivateOverviewMapCallback.d.ts +1 -0
- package/src/callback/goToViewpointCallback.d.ts +1 -0
- package/src/callback/goToViewpointCallback.js +2 -2
- package/src/callback/hideObjectsCallback.d.ts +28 -0
- package/src/callback/hideObjectsCallback.js +62 -0
- package/src/callback/highlightObjectsCallback.d.ts +32 -0
- package/src/callback/highlightObjectsCallback.js +68 -0
- package/src/callback/openSplashScreenCallback.d.ts +1 -0
- package/src/callback/removeModuleCallback.d.ts +1 -0
- package/src/callback/showObjectsCallback.d.ts +28 -0
- package/src/callback/showObjectsCallback.js +62 -0
- package/src/callback/startFlightCallback.d.ts +29 -0
- package/src/callback/startFlightCallback.js +78 -0
- package/src/callback/stopFlightCallback.d.ts +24 -0
- package/src/callback/stopFlightCallback.js +50 -0
- package/src/callback/stopRotationCallback.d.ts +1 -0
- package/src/callback/toggleNavbarButtonCallback.d.ts +1 -0
- package/src/callback/toggleToolbarButtonCallback.d.ts +1 -0
- package/src/callback/unHighlightObjectsCallback.d.ts +28 -0
- package/src/callback/unHighlightObjectsCallback.js +59 -0
- package/src/callback/vcsCallback.d.ts +16 -2
- package/src/callback/vcsCallback.js +27 -1
- package/src/components/extent/VcsExtentEditor.vue +11 -2
- package/src/components/extent/VcsExtentEditor.vue.d.ts +9 -0
- package/src/components/flight/VcsFlightComponent.vue +9 -3
- package/src/contentTree/wmsGroupContentTreeItem.js +6 -3
- package/src/i18n/de.d.ts +2 -0
- package/src/i18n/de.js +1 -0
- package/src/i18n/en.d.ts +2 -0
- package/src/i18n/en.js +1 -0
- package/src/navigation/overviewMap.js +6 -5
- package/src/vuePlugins/vuetify.js +1 -0
- /package/dist/assets/core-workers/{panoramaImageWorker.js-f9c706f1.js → panoramaImageWorker.js-fb35f0bb.js} +0 -0
- /package/dist/assets/{ol-9f59d99f.js → ol-f01286b6.js} +0 -0
- /package/dist/assets/{vue-f6136dc6.js → vue-0876557c.js} +0 -0
- /package/dist/assets/{vuetify-de6f6eb0.css → vuetify-2cf9482d.css} +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FeatureLayer } from '@vcmap/core';
|
|
2
|
+
import VcsCallback, { callbackClassRegistry } from './vcsCallback.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
6
|
+
* layerName?: string;
|
|
7
|
+
* objectIds: string[];
|
|
8
|
+
* }} ShowObjectsCallbackOptions
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A callback to show objects that were previously hidden.
|
|
13
|
+
*/
|
|
14
|
+
export default class ShowObjectsCallback extends VcsCallback {
|
|
15
|
+
static get className() {
|
|
16
|
+
return 'ShowObjectsCallback';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @type {string | undefined} */
|
|
20
|
+
_layerName;
|
|
21
|
+
|
|
22
|
+
/** @type {string[]} */
|
|
23
|
+
_objectIds;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {ShowObjectsCallbackOptions} options
|
|
27
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
28
|
+
*/
|
|
29
|
+
constructor(options, app) {
|
|
30
|
+
super(options, app);
|
|
31
|
+
|
|
32
|
+
this._layerName = options.layerName;
|
|
33
|
+
this._objectIds = options.objectIds;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
callback() {
|
|
37
|
+
/** @type {import('@vcmap/ui').VcsUiApp} */
|
|
38
|
+
const app = this._app;
|
|
39
|
+
if (this._layerName) {
|
|
40
|
+
const layer = app.layers.getByKey(this._layerName);
|
|
41
|
+
if (layer instanceof FeatureLayer) {
|
|
42
|
+
layer.featureVisibility.showObjects(this._objectIds);
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
app.layers.globalHider.showObjects(this._objectIds);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** @returns {ShowObjectsCallbackOptions} */
|
|
50
|
+
toJSON() {
|
|
51
|
+
return {
|
|
52
|
+
...super.toJSON(),
|
|
53
|
+
layerName: this._layerName,
|
|
54
|
+
objectIds: [...this._objectIds],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
callbackClassRegistry.registerClass(
|
|
60
|
+
ShowObjectsCallback.className,
|
|
61
|
+
ShowObjectsCallback,
|
|
62
|
+
);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('@vcmap/core').FlightInstanceOptions} FlightInstanceOptions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
6
|
+
* flight: string | FlightInstanceOptions;
|
|
7
|
+
* }} StartFlightCallbackOptions
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* A callback to start a flight.
|
|
11
|
+
*/
|
|
12
|
+
export default class StartFlightCallback extends VcsCallback {
|
|
13
|
+
/**
|
|
14
|
+
* @param {StartFlightCallbackOptions} options
|
|
15
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
16
|
+
*/
|
|
17
|
+
constructor(options: StartFlightCallbackOptions, app: import('@vcmap/ui').VcsUiApp);
|
|
18
|
+
/** @type {string | FlightInstanceOptions} */
|
|
19
|
+
_flight: string | FlightInstanceOptions;
|
|
20
|
+
/** @returns {Promise<void>} */
|
|
21
|
+
callback(): Promise<void>;
|
|
22
|
+
/** @returns {StartFlightCallbackOptions} */
|
|
23
|
+
toJSON(): StartFlightCallbackOptions;
|
|
24
|
+
}
|
|
25
|
+
export type FlightInstanceOptions = import('@vcmap/core').FlightInstanceOptions;
|
|
26
|
+
export type StartFlightCallbackOptions = import('@vcmap/ui').VcsCallbackOptions & {
|
|
27
|
+
flight: string | FlightInstanceOptions;
|
|
28
|
+
};
|
|
29
|
+
import VcsCallback from './vcsCallback.js';
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { FlightInstance } from '@vcmap/core';
|
|
2
|
+
import VcsCallback, { callbackClassRegistry } from './vcsCallback.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/core').FlightInstanceOptions} FlightInstanceOptions
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
10
|
+
* flight: string | FlightInstanceOptions;
|
|
11
|
+
* }} StartFlightCallbackOptions
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A callback to start a flight.
|
|
16
|
+
*/
|
|
17
|
+
export default class StartFlightCallback extends VcsCallback {
|
|
18
|
+
static get className() {
|
|
19
|
+
return 'StartFlightCallback';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @type {string | FlightInstanceOptions} */
|
|
23
|
+
_flight;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {StartFlightCallbackOptions} options
|
|
27
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
28
|
+
*/
|
|
29
|
+
constructor(options, app) {
|
|
30
|
+
super(options, app);
|
|
31
|
+
|
|
32
|
+
this._flight = options.flight;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** @returns {Promise<void>} */
|
|
36
|
+
async callback() {
|
|
37
|
+
/** @type {import('@vcmap/ui').VcsUiApp} */
|
|
38
|
+
const app = this._app;
|
|
39
|
+
/** @type {FlightInstance | undefined} */
|
|
40
|
+
let flight;
|
|
41
|
+
if (typeof this._flight === 'string') {
|
|
42
|
+
flight = app.flights.getByKey(this._flight);
|
|
43
|
+
} else {
|
|
44
|
+
flight = new FlightInstance(this._flight);
|
|
45
|
+
}
|
|
46
|
+
if (flight) {
|
|
47
|
+
const player = await app.flights.setPlayerForFlight(flight);
|
|
48
|
+
player?.play();
|
|
49
|
+
return new Promise((resolve, reject) => {
|
|
50
|
+
if (player) {
|
|
51
|
+
const listener = player.stateChanged.addEventListener((state) => {
|
|
52
|
+
if (state === 'stopped') {
|
|
53
|
+
listener();
|
|
54
|
+
resolve();
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
} else {
|
|
58
|
+
reject(new Error('No flight player available'));
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
} else {
|
|
62
|
+
return Promise.reject(new Error('Flight not found'));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** @returns {StartFlightCallbackOptions} */
|
|
67
|
+
toJSON() {
|
|
68
|
+
return {
|
|
69
|
+
...super.toJSON(),
|
|
70
|
+
flight: structuredClone(this._flight),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
callbackClassRegistry.registerClass(
|
|
76
|
+
StartFlightCallback.className,
|
|
77
|
+
StartFlightCallback,
|
|
78
|
+
);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
3
|
+
* flightName: string;
|
|
4
|
+
* }} StopFlightCallbackOptions
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A callback to stop a flight.
|
|
8
|
+
*/
|
|
9
|
+
export default class StopFlightCallback extends VcsCallback {
|
|
10
|
+
/**
|
|
11
|
+
* @param {StopFlightCallbackOptions} options
|
|
12
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
13
|
+
*/
|
|
14
|
+
constructor(options: StopFlightCallbackOptions, app: import('@vcmap/ui').VcsUiApp);
|
|
15
|
+
/** @type {string} */
|
|
16
|
+
_flightName: string;
|
|
17
|
+
callback(): void;
|
|
18
|
+
/** @returns {StopFlightCallbackOptions} */
|
|
19
|
+
toJSON(): StopFlightCallbackOptions;
|
|
20
|
+
}
|
|
21
|
+
export type StopFlightCallbackOptions = import('@vcmap/ui').VcsCallbackOptions & {
|
|
22
|
+
flightName: string;
|
|
23
|
+
};
|
|
24
|
+
import VcsCallback from './vcsCallback.js';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import VcsCallback, { callbackClassRegistry } from './vcsCallback.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
5
|
+
* flightName: string;
|
|
6
|
+
* }} StopFlightCallbackOptions
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A callback to stop a flight.
|
|
11
|
+
*/
|
|
12
|
+
export default class StopFlightCallback extends VcsCallback {
|
|
13
|
+
static get className() {
|
|
14
|
+
return 'StopFlightCallback';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** @type {string} */
|
|
18
|
+
_flightName;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @param {StopFlightCallbackOptions} options
|
|
22
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
23
|
+
*/
|
|
24
|
+
constructor(options, app) {
|
|
25
|
+
super(options, app);
|
|
26
|
+
|
|
27
|
+
this._flightName = options.flightName;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
callback() {
|
|
31
|
+
/** @type {import('@vcmap/ui').VcsUiApp} */
|
|
32
|
+
const app = this._app;
|
|
33
|
+
if (app.flights.player?.flightInstanceName === this._flightName) {
|
|
34
|
+
app.flights.player.stop();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** @returns {StopFlightCallbackOptions} */
|
|
39
|
+
toJSON() {
|
|
40
|
+
return {
|
|
41
|
+
...super.toJSON(),
|
|
42
|
+
flightName: this._flightName,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
callbackClassRegistry.registerClass(
|
|
48
|
+
StopFlightCallback.className,
|
|
49
|
+
StopFlightCallback,
|
|
50
|
+
);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
3
|
+
* layerName: string;
|
|
4
|
+
* toUnHighlight: (string | number)[];
|
|
5
|
+
* }} UnHighlightObjectsCallbackOptions
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* A callback to unhighlight previously highlighted objects of a FeatureLayer.
|
|
9
|
+
*/
|
|
10
|
+
export default class UnHighlightObjectsCallback extends VcsCallback {
|
|
11
|
+
/**
|
|
12
|
+
* @param {UnHighlightObjectsCallbackOptions} options
|
|
13
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
14
|
+
*/
|
|
15
|
+
constructor(options: UnHighlightObjectsCallbackOptions, app: import('@vcmap/ui').VcsUiApp);
|
|
16
|
+
/** @type {string} */
|
|
17
|
+
_layerName: string;
|
|
18
|
+
/** @type {(string | number)[]} */
|
|
19
|
+
_toUnHighlight: (string | number)[];
|
|
20
|
+
callback(): void;
|
|
21
|
+
/** @returns {UnHighlightObjectsCallbackOptions} */
|
|
22
|
+
toJSON(): UnHighlightObjectsCallbackOptions;
|
|
23
|
+
}
|
|
24
|
+
export type UnHighlightObjectsCallbackOptions = import('@vcmap/ui').VcsCallbackOptions & {
|
|
25
|
+
layerName: string;
|
|
26
|
+
toUnHighlight: (string | number)[];
|
|
27
|
+
};
|
|
28
|
+
import VcsCallback from './vcsCallback.js';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { FeatureLayer } from '@vcmap/core';
|
|
2
|
+
import VcsCallback, { callbackClassRegistry } from './vcsCallback.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
6
|
+
* layerName: string;
|
|
7
|
+
* toUnHighlight: (string | number)[];
|
|
8
|
+
* }} UnHighlightObjectsCallbackOptions
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A callback to unhighlight previously highlighted objects of a FeatureLayer.
|
|
13
|
+
*/
|
|
14
|
+
export default class UnHighlightObjectsCallback extends VcsCallback {
|
|
15
|
+
static get className() {
|
|
16
|
+
return 'UnHighlightObjectsCallback';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @type {string} */
|
|
20
|
+
_layerName;
|
|
21
|
+
|
|
22
|
+
/** @type {(string | number)[]} */
|
|
23
|
+
_toUnHighlight;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {UnHighlightObjectsCallbackOptions} options
|
|
27
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
28
|
+
*/
|
|
29
|
+
constructor(options, app) {
|
|
30
|
+
super(options, app);
|
|
31
|
+
|
|
32
|
+
this._layerName = options.layerName;
|
|
33
|
+
this._toUnHighlight = options.toUnHighlight;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
callback() {
|
|
37
|
+
/** @type {import('@vcmap/ui').VcsUiApp} */
|
|
38
|
+
const app = this._app;
|
|
39
|
+
const layer = app.layers.getByKey(this._layerName);
|
|
40
|
+
|
|
41
|
+
if (layer instanceof FeatureLayer) {
|
|
42
|
+
layer.featureVisibility.unHighlight(this._toUnHighlight);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** @returns {UnHighlightObjectsCallbackOptions} */
|
|
47
|
+
toJSON() {
|
|
48
|
+
return {
|
|
49
|
+
...super.toJSON(),
|
|
50
|
+
layerName: this._layerName,
|
|
51
|
+
toUnHighlight: [...this._toUnHighlight],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
callbackClassRegistry.registerClass(
|
|
57
|
+
UnHighlightObjectsCallback.className,
|
|
58
|
+
UnHighlightObjectsCallback,
|
|
59
|
+
);
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Creates instances of VcsCallback classes and executes their `callback()`.
|
|
3
|
+
*
|
|
4
|
+
* Note: this function does not await promise-returning callbacks.
|
|
3
5
|
* @param {import("@src/vcsUiApp.js").default} app
|
|
4
6
|
* @param {Array<VcsCallbackOptions>} vcsCallbackOptions
|
|
7
|
+
* @returns {void}
|
|
5
8
|
*/
|
|
6
9
|
export function executeCallbacks(app: import("@src/vcsUiApp.js").default, vcsCallbackOptions: Array<VcsCallbackOptions>): void;
|
|
10
|
+
/**
|
|
11
|
+
* Creates instances of VcsCallback classes and executes their `callback()` sequentially.
|
|
12
|
+
* Awaits promise-returning callbacks before continuing with the next one.
|
|
13
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
|
14
|
+
* @param {Array<VcsCallbackOptions>} vcsCallbackOptions
|
|
15
|
+
* @returns {Promise<void>}
|
|
16
|
+
*/
|
|
17
|
+
export function executeAsyncCallbacks(app: import("@src/vcsUiApp.js").default, vcsCallbackOptions: Array<VcsCallbackOptions>): Promise<void>;
|
|
7
18
|
/**
|
|
8
19
|
* @type {ClassRegistry<typeof VcsCallback>}
|
|
9
20
|
*/
|
|
@@ -36,7 +47,10 @@ declare class VcsCallback {
|
|
|
36
47
|
* @type {import("@src/vcsUiApp.js").default}
|
|
37
48
|
*/
|
|
38
49
|
protected _app: import("@src/vcsUiApp.js").default;
|
|
39
|
-
|
|
50
|
+
/**
|
|
51
|
+
* @returns {void | Promise<void>}
|
|
52
|
+
*/
|
|
53
|
+
callback(): void | Promise<void>;
|
|
40
54
|
/**
|
|
41
55
|
* @returns {VcsCallbackOptions}
|
|
42
56
|
*/
|
|
@@ -6,9 +6,12 @@ import { ClassRegistry } from '@vcmap/core';
|
|
|
6
6
|
export const callbackClassRegistry = new ClassRegistry();
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Creates instances of VcsCallback classes and executes their `callback()`.
|
|
10
|
+
*
|
|
11
|
+
* Note: this function does not await promise-returning callbacks.
|
|
10
12
|
* @param {import("@src/vcsUiApp.js").default} app
|
|
11
13
|
* @param {Array<VcsCallbackOptions>} vcsCallbackOptions
|
|
14
|
+
* @returns {void}
|
|
12
15
|
*/
|
|
13
16
|
export function executeCallbacks(app, vcsCallbackOptions) {
|
|
14
17
|
vcsCallbackOptions.forEach((options) =>
|
|
@@ -16,6 +19,26 @@ export function executeCallbacks(app, vcsCallbackOptions) {
|
|
|
16
19
|
);
|
|
17
20
|
}
|
|
18
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Creates instances of VcsCallback classes and executes their `callback()` sequentially.
|
|
24
|
+
* Awaits promise-returning callbacks before continuing with the next one.
|
|
25
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
|
26
|
+
* @param {Array<VcsCallbackOptions>} vcsCallbackOptions
|
|
27
|
+
* @returns {Promise<void>}
|
|
28
|
+
*/
|
|
29
|
+
export async function executeAsyncCallbacks(app, vcsCallbackOptions) {
|
|
30
|
+
for (const options of vcsCallbackOptions) {
|
|
31
|
+
const callbackInstance = app.callbackClassRegistry.createFromTypeOptions(
|
|
32
|
+
options,
|
|
33
|
+
app,
|
|
34
|
+
);
|
|
35
|
+
if (callbackInstance) {
|
|
36
|
+
// eslint-disable-next-line no-await-in-loop
|
|
37
|
+
await callbackInstance.callback();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
19
42
|
/**
|
|
20
43
|
* @typedef {Object} VcsCallbackOptions
|
|
21
44
|
* @property {string} type
|
|
@@ -45,6 +68,9 @@ class VcsCallback {
|
|
|
45
68
|
this._app = app;
|
|
46
69
|
}
|
|
47
70
|
|
|
71
|
+
/**
|
|
72
|
+
* @returns {void | Promise<void>}
|
|
73
|
+
*/
|
|
48
74
|
// eslint-disable-next-line class-methods-use-this
|
|
49
75
|
callback() {}
|
|
50
76
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
class="vcs-extent-editor"
|
|
4
4
|
:heading="heading"
|
|
5
5
|
:header-actions="actions"
|
|
6
|
-
:action-button-list-overflow-count="
|
|
6
|
+
:action-button-list-overflow-count="3"
|
|
7
7
|
:disabled="disabled"
|
|
8
8
|
expandable
|
|
9
9
|
start-open
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
* @vue-prop {import("@vcmap/core").ExtentOptions} [modelValue] - the extent options to be modeled.
|
|
28
28
|
* @vue-prop {boolean} [disabled=false] - Disable coordinate input.
|
|
29
29
|
* @vue-prop {string} [heading='component.extent.title] - Header of the form section
|
|
30
|
+
* @vue-prop {boolean} [showExtentOnStartup=false] - Whether to activate the extent layer on startup
|
|
30
31
|
*/
|
|
31
32
|
export default {
|
|
32
33
|
name: 'VcsExtentEditor',
|
|
@@ -48,6 +49,10 @@
|
|
|
48
49
|
type: String,
|
|
49
50
|
default: 'components.extent.title',
|
|
50
51
|
},
|
|
52
|
+
showExtentOnStartup: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: false,
|
|
55
|
+
},
|
|
51
56
|
},
|
|
52
57
|
emits: ['update:modelValue'],
|
|
53
58
|
setup(props, { emit }) {
|
|
@@ -63,7 +68,11 @@
|
|
|
63
68
|
},
|
|
64
69
|
});
|
|
65
70
|
|
|
66
|
-
const { actions, destroy } = setupExtentComponentActions(
|
|
71
|
+
const { actions, destroy } = setupExtentComponentActions(
|
|
72
|
+
app,
|
|
73
|
+
extent,
|
|
74
|
+
props.showExtentOnStartup,
|
|
75
|
+
);
|
|
67
76
|
|
|
68
77
|
onUnmounted(() => {
|
|
69
78
|
destroy();
|
|
@@ -11,6 +11,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
11
11
|
type: StringConstructor;
|
|
12
12
|
default: string;
|
|
13
13
|
};
|
|
14
|
+
showExtentOnStartup: {
|
|
15
|
+
type: BooleanConstructor;
|
|
16
|
+
default: boolean;
|
|
17
|
+
};
|
|
14
18
|
}, {
|
|
15
19
|
localValue: import("vue").Ref<any>;
|
|
16
20
|
actions: import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).VcsAction[];
|
|
@@ -27,11 +31,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
27
31
|
type: StringConstructor;
|
|
28
32
|
default: string;
|
|
29
33
|
};
|
|
34
|
+
showExtentOnStartup: {
|
|
35
|
+
type: BooleanConstructor;
|
|
36
|
+
default: boolean;
|
|
37
|
+
};
|
|
30
38
|
}>> & {
|
|
31
39
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
32
40
|
}, {
|
|
33
41
|
disabled: boolean;
|
|
34
42
|
modelValue: Record<string, any>;
|
|
35
43
|
heading: string;
|
|
44
|
+
showExtentOnStartup: boolean;
|
|
36
45
|
}, {}>;
|
|
37
46
|
export default _default;
|
|
@@ -202,17 +202,22 @@
|
|
|
202
202
|
const app = inject('vcsApp');
|
|
203
203
|
const flightInstance = getProvidedFlightInstance();
|
|
204
204
|
const loop = ref(flightInstance.loop);
|
|
205
|
+
const interpolationValue = ref(flightInstance.interpolation);
|
|
205
206
|
const flightDuration = ref(getFlightDuration(flightInstance));
|
|
206
207
|
const disablePlayer = ref(!(flightDuration.value > 0));
|
|
207
|
-
const
|
|
208
|
+
const flightInstanceListeners = [
|
|
208
209
|
flightInstance.anchorsChanged.addEventListener(() => {
|
|
209
210
|
flightDuration.value = getFlightDuration(flightInstance);
|
|
210
211
|
disablePlayer.value = !(flightDuration.value > 0);
|
|
211
212
|
}),
|
|
212
213
|
flightInstance.propertyChanged.addEventListener((prop) => {
|
|
213
214
|
if (prop === 'loop') {
|
|
215
|
+
loop.value = flightInstance.loop;
|
|
214
216
|
flightDuration.value = getFlightDuration(flightInstance);
|
|
215
217
|
}
|
|
218
|
+
if (prop === 'interpolation') {
|
|
219
|
+
interpolationValue.value = flightInstance.interpolation;
|
|
220
|
+
}
|
|
216
221
|
}),
|
|
217
222
|
];
|
|
218
223
|
const editingListener = setupFlightAnchorEditingListener(
|
|
@@ -221,7 +226,7 @@
|
|
|
221
226
|
);
|
|
222
227
|
|
|
223
228
|
onUnmounted(() => {
|
|
224
|
-
|
|
229
|
+
flightInstanceListeners.forEach((cb) => cb());
|
|
225
230
|
editingListener();
|
|
226
231
|
});
|
|
227
232
|
|
|
@@ -243,9 +248,10 @@
|
|
|
243
248
|
}),
|
|
244
249
|
interpolation: computed({
|
|
245
250
|
get() {
|
|
246
|
-
return
|
|
251
|
+
return interpolationValue.value;
|
|
247
252
|
},
|
|
248
253
|
set(value) {
|
|
254
|
+
interpolationValue.value = value;
|
|
249
255
|
flightInstance.interpolation = value;
|
|
250
256
|
},
|
|
251
257
|
}),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { markVolatile } from '@vcmap/core';
|
|
1
|
+
import { getInitForUrl, markVolatile } from '@vcmap/core';
|
|
2
2
|
import { getLogger } from '@vcsuite/logger';
|
|
3
3
|
import { ref } from 'vue';
|
|
4
4
|
import { parseBoolean } from '@vcsuite/parsers';
|
|
@@ -98,9 +98,10 @@ function parseSerializedCapabilities(capabilities) {
|
|
|
98
98
|
/**
|
|
99
99
|
* @param {string} rawUrl
|
|
100
100
|
* @param {Record<string, string>} parameters
|
|
101
|
+
* @param {Record<string, string>} headers
|
|
101
102
|
* @returns {Promise<Array<WMSEntry>>} The fetched capabilities.
|
|
102
103
|
*/
|
|
103
|
-
async function getWMSEntries(rawUrl, parameters) {
|
|
104
|
+
async function getWMSEntries(rawUrl, parameters, headers) {
|
|
104
105
|
const url = new URL(rawUrl);
|
|
105
106
|
const excludedParameters = [
|
|
106
107
|
'LAYERS',
|
|
@@ -117,7 +118,8 @@ async function getWMSEntries(rawUrl, parameters) {
|
|
|
117
118
|
url.searchParams.set('SERVICE', 'WMS');
|
|
118
119
|
url.searchParams.set('REQUEST', 'GetCapabilities');
|
|
119
120
|
|
|
120
|
-
const
|
|
121
|
+
const init = getInitForUrl(url.toString(), headers);
|
|
122
|
+
const res = await fetch(url.toString(), init);
|
|
121
123
|
if (!res.ok) {
|
|
122
124
|
throw new Error(`Failed to fetch capabilities: ${res.statusText}`);
|
|
123
125
|
}
|
|
@@ -605,6 +607,7 @@ class WMSGroupContentTreeItem extends VcsObjectContentTreeItem {
|
|
|
605
607
|
availableWMSEntries = await getWMSEntries(
|
|
606
608
|
this._layer.url,
|
|
607
609
|
this._layer.parameters,
|
|
610
|
+
this._layer.headers,
|
|
608
611
|
);
|
|
609
612
|
}
|
|
610
613
|
// check if the layer still exists, it can happen that the layer was removed while fetching the capabilities.
|
package/src/i18n/de.d.ts
CHANGED
|
@@ -348,6 +348,8 @@ declare namespace messages {
|
|
|
348
348
|
export let show: string;
|
|
349
349
|
export let hide: string;
|
|
350
350
|
export let create: string;
|
|
351
|
+
let reset_1: string;
|
|
352
|
+
export { reset_1 as reset };
|
|
351
353
|
let zoom_1: string;
|
|
352
354
|
export { zoom_1 as zoom };
|
|
353
355
|
export let invalid: string;
|
package/src/i18n/de.js
CHANGED
|
@@ -223,6 +223,7 @@ const messages = {
|
|
|
223
223
|
show: 'Ausdehnung in Karte anzeigen',
|
|
224
224
|
hide: 'Ausdehnung in Karte ausblenden',
|
|
225
225
|
create: 'Neue Ausdehnung in Karte zeichnen',
|
|
226
|
+
reset: 'Ausdehnung zurücksetzen',
|
|
226
227
|
zoom: 'Auf Ausdehnung zoomen',
|
|
227
228
|
invalid: 'Koordinaten ergeben keine valide Ausdehnung!',
|
|
228
229
|
editVertices: 'Ecken bearbeiten',
|
package/src/i18n/en.d.ts
CHANGED
|
@@ -348,6 +348,8 @@ declare namespace messages {
|
|
|
348
348
|
export let show: string;
|
|
349
349
|
export let hide: string;
|
|
350
350
|
export let create: string;
|
|
351
|
+
let reset_1: string;
|
|
352
|
+
export { reset_1 as reset };
|
|
351
353
|
let zoom_1: string;
|
|
352
354
|
export { zoom_1 as zoom };
|
|
353
355
|
export let invalid: string;
|
package/src/i18n/en.js
CHANGED
|
@@ -223,6 +223,7 @@ const messages = {
|
|
|
223
223
|
show: 'Show extent in map',
|
|
224
224
|
hide: 'Hide extent in map',
|
|
225
225
|
create: 'Draw new extent in map',
|
|
226
|
+
reset: 'Reset extent',
|
|
226
227
|
zoom: 'Zoom to extent',
|
|
227
228
|
invalid: 'Coordinates do not result in a valid extent!',
|
|
228
229
|
editVertices: 'Edit extent corners',
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
Extent,
|
|
12
12
|
Viewpoint,
|
|
13
13
|
deserializeLayer,
|
|
14
|
-
maxZIndex,
|
|
15
14
|
CesiumMap,
|
|
16
15
|
PanoramaMap,
|
|
17
16
|
PanoramaImageSelection,
|
|
17
|
+
maxZIndexMin50,
|
|
18
18
|
} from '@vcmap/core';
|
|
19
19
|
import Point from 'ol/geom/Point.js';
|
|
20
20
|
import Feature from 'ol/Feature.js';
|
|
@@ -536,7 +536,7 @@ class OverviewMap {
|
|
|
536
536
|
this._obliqueTileLayer = new VectorLayer({
|
|
537
537
|
projection: mercatorProjection.toJSON(),
|
|
538
538
|
style: obliqueTileStyle,
|
|
539
|
-
zIndex:
|
|
539
|
+
zIndex: maxZIndexMin50 - 4,
|
|
540
540
|
});
|
|
541
541
|
this._obliqueTileLayer[overviewMapLayerSymbol] = true;
|
|
542
542
|
|
|
@@ -551,13 +551,13 @@ class OverviewMap {
|
|
|
551
551
|
this._obliqueImageLayer = new VectorLayer({
|
|
552
552
|
projection: mercatorProjection.toJSON(),
|
|
553
553
|
style: obliqueImageStyle,
|
|
554
|
-
zIndex:
|
|
554
|
+
zIndex: maxZIndexMin50 - 3,
|
|
555
555
|
});
|
|
556
556
|
this._obliqueImageLayer[overviewMapLayerSymbol] = true;
|
|
557
557
|
this._obliqueSelectedImageLayer = new VectorLayer({
|
|
558
558
|
projection: mercatorProjection.toJSON(),
|
|
559
559
|
style: this.obliqueSelectedStyle,
|
|
560
|
-
zIndex:
|
|
560
|
+
zIndex: maxZIndexMin50 - 2,
|
|
561
561
|
});
|
|
562
562
|
this._obliqueSelectedImageLayer[overviewMapLayerSymbol] = true;
|
|
563
563
|
this._map.layerCollection.add(this._obliqueImageLayer);
|
|
@@ -610,7 +610,8 @@ class OverviewMap {
|
|
|
610
610
|
if (!this._cameraIconLayer) {
|
|
611
611
|
this._cameraIconLayer = new VectorLayer({
|
|
612
612
|
projection: mercatorProjection.toJSON(),
|
|
613
|
-
|
|
613
|
+
// pretty far at the top, but not above panoramas
|
|
614
|
+
zIndex: maxZIndexMin50 - 1,
|
|
614
615
|
});
|
|
615
616
|
this._cameraIconLayer[overviewMapLayerSymbol] = true;
|
|
616
617
|
this._map.layerCollection.add(this._cameraIconLayer);
|