@vcmap/ui 6.2.0-rc.1 → 6.2.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build.js +52 -7
- package/build/postInstall.js +32 -0
- package/config/dev.config.json +40 -0
- package/config/pano.config.json +420 -0
- package/config/projects.config.json +5 -0
- package/dist/assets/cesium/Workers/{chunk-P6TRGU3S.js → chunk-2PFJ45KC.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-7ZZ5LMZY.js → chunk-35ALNMG5.js} +15 -15
- package/dist/assets/cesium/Workers/{chunk-7YIOHQWH.js → chunk-35EJBV7X.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-EJVGYGLF.js → chunk-3E3OH65K.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-JBSKHTNX.js → chunk-4FHUY275.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-Z2QP3CXW.js → chunk-565T3GIE.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-IZGUQO6Q.js → chunk-5LGDCKCZ.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-3IFRSGEY.js → chunk-6JXJYBWN.js} +9 -9
- package/dist/assets/cesium/Workers/{chunk-WGDFYAGC.js → chunk-6RAEC3AW.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-44QAAS4P.js → chunk-6Z67VIOY.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-NGZJIN5Z.js → chunk-ADDGROZ6.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-GBT7MJ6X.js → chunk-ASYGMBRG.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-C4WPMOKT.js → chunk-BABDQOWA.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-IBRIWOCM.js → chunk-BQHHGIFB.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-LLAF3CPH.js → chunk-C33B4KHN.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-JXVLNVXC.js → chunk-CMCR2ZK4.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-3HQMMUPU.js → chunk-EGGJIATZ.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-RJM36CNY.js → chunk-EWS5LXAB.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-OPP2SKMA.js → chunk-FDXPBTSX.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-QN6TBED4.js → chunk-FIFQP4YX.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-JISPSEF3.js → chunk-HOGDZ2EB.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-2PTKXHJB.js → chunk-I4NB77NH.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-QQOZO7KO.js → chunk-JX4A2BCF.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-XIUSRWL6.js → chunk-K6PDUSH6.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-KHZNBFOH.js → chunk-KFHZFU5O.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-U5HSOKPQ.js → chunk-KYGXRFA6.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-56EDBCGT.js → chunk-LNWNAP2C.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-YCDZX5LS.js → chunk-LWN2B3KW.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-TI3TRKIC.js → chunk-LXLABO2L.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-C3EQ27WF.js → chunk-MB6B2UUL.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-57H6I3SV.js → chunk-MZSRINXK.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-ZVUUPJEM.js → chunk-NBI3GZSK.js} +17 -17
- package/dist/assets/cesium/Workers/{chunk-O72GZTSE.js → chunk-NUAXNUP5.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-M24KHENR.js → chunk-PNZR4RLL.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-HJMNR3GC.js → chunk-Q4K22DSJ.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-2LOWCAMW.js → chunk-Q4OS4EFN.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-TK5IIG2F.js → chunk-QLIMO7TQ.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-EDLRS3AW.js → chunk-RQ4F6YFU.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-JSQJDZI4.js → chunk-SB67D3JL.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-RTJKHZWU.js → chunk-SS6WRJ5J.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-L5GODJAR.js → chunk-TC4NTWIJ.js} +14 -14
- package/dist/assets/cesium/Workers/{chunk-IZJ42N4W.js → chunk-TKNA6WSZ.js} +17 -17
- package/dist/assets/cesium/Workers/{chunk-HP5XLODI.js → chunk-VQYEP77L.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-YSIJTJ7N.js → chunk-WKS5H3VW.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-XWOUPGUF.js → chunk-WPGX7DEA.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-6SQMLVGV.js → chunk-X3EPFVG3.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-NDDI2LWR.js → chunk-XH7MSR3A.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-FFLMY4TE.js → chunk-YDEBBUNQ.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-YK3QIKY7.js → chunk-YSVI7YNN.js} +9 -9
- package/dist/assets/cesium/Workers/{chunk-BVKITG4N.js → chunk-YVAS5WPH.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-X7IQYYHF.js → chunk-Z4QVAZM6.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-LJ2JQHJT.js → chunk-ZXOK77EW.js} +7 -7
- 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-ac6c193a.js → cesium-7d4ab914.js} +44609 -44606
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/core-deeb2b8d.js +34569 -0
- package/dist/assets/core-workers/panoramaImageWorker.js +1 -0
- package/dist/assets/core-workers/panoramaImageWorker.js-f8148bc6.js +34 -0
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol-94c57f2e.js → ol-8db5c824.js} +1 -1
- package/dist/assets/ol.js +1 -1
- package/dist/assets/start.js +3 -1
- package/dist/assets/ui-62439099.css +1 -0
- package/dist/assets/{ui-4f308e45.js → ui-62439099.js} +9581 -8853
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-99195777.js → vuetify-439ba6d5.js} +1 -1
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +14 -4
- package/index.js +8 -6
- package/package.json +5 -4
- package/plugins/@vcmap-show-case/panorama-inspector/package.json +10 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaDebugInfo.vue +86 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaDebugTools.vue +259 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaInspector.vue +31 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/api.js +161 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/index.js +57 -0
- package/plugins/@vcmap-show-case/panorama-inspector/src/showClickInteraction.js +20 -0
- package/plugins/package.json +1 -1
- package/src/actions/actionHelper.d.ts +16 -11
- package/src/actions/actionHelper.js +190 -87
- package/src/actions/flightActions.d.ts +10 -0
- package/src/actions/flightActions.js +109 -13
- package/src/application/VcsApp.vue +11 -0
- package/src/application/VcsApp.vue.d.ts +4 -0
- package/src/application/VcsContainer.vue.d.ts +4 -0
- package/src/application/VcsMainMap.vue +40 -2
- package/src/application/VcsMainMap.vue.d.ts +4 -0
- package/src/application/VcsMap.vue +0 -9
- package/src/application/VcsNavbar.vue +2 -1
- package/src/callback/activateMapCallback.d.ts +30 -0
- package/src/callback/activateMapCallback.js +63 -0
- package/src/callback/activateOverviewMapCallback.d.ts +7 -0
- package/src/callback/activateOverviewMapCallback.js +26 -0
- package/src/callback/deactivateOverviewMapCallback.d.ts +7 -0
- package/src/callback/deactivateOverviewMapCallback.js +20 -0
- package/src/components/flight/VcsFlightAnchorsComponent.vue +1 -0
- package/src/components/flight/VcsFlightPlayer.vue +31 -17
- package/src/components/flight/VcsFlightPlayer.vue.d.ts +1 -0
- package/src/components/lists/VcsGroupedList.vue +10 -2
- package/src/components/lists/VcsTreeNode.vue +3 -0
- package/src/components/plugins/VcsLoadingOverlay.vue +138 -0
- package/src/components/plugins/VcsLoadingOverlay.vue.d.ts +2 -0
- package/src/components/plugins/VcsWorkspaceWrapper.vue +104 -0
- package/src/components/plugins/VcsWorkspaceWrapper.vue.d.ts +82 -0
- package/src/components/section/VcsExpansionPanel.vue +13 -3
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +20 -1
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +11 -0
- package/src/components/vector-properties/VcsFeatureInputEditor.vue +166 -0
- package/src/components/vector-properties/VcsFeatureInputEditor.vue.d.ts +17 -0
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +1 -1
- package/src/contentTree/LayerSwap.vue +15 -6
- package/src/contentTree/contentTreeCollection.js +2 -2
- package/src/contentTree/contentTreeItem.d.ts +2 -2
- package/src/contentTree/wmsGroupContentTreeItem.js +10 -3
- package/src/featureInfo/featureInfo.js +6 -25
- package/src/featureInfo/iframeWmsFeatureInfoView.d.ts +10 -0
- package/src/featureInfo/iframeWmsFeatureInfoView.js +42 -0
- package/src/i18n/de.d.ts +25 -7
- package/src/i18n/de.js +14 -0
- package/src/i18n/en.d.ts +25 -7
- package/src/i18n/en.js +14 -0
- package/src/legend/VcsLegend.vue +5 -1
- package/src/navigation/MapNavigation.vue +82 -45
- package/src/navigation/MapNavigation.vue.d.ts +3 -34
- package/src/navigation/TiltSlider.vue +10 -2
- package/src/navigation/TiltSlider.vue.d.ts +20 -0
- package/src/navigation/VcsCompass.vue +3 -1
- package/src/navigation/overviewMap.d.ts +23 -8
- package/src/navigation/overviewMap.js +82 -60
- package/src/search/ResultsComponent.vue +8 -1
- package/src/search/SearchComponent.vue +3 -17
- package/src/search/SearchComponent.vue.d.ts +1 -2
- package/src/search/search.d.ts +13 -0
- package/src/search/search.js +21 -1
- package/src/uiConfig.d.ts +9 -0
- package/src/uiConfig.js +1 -0
- package/dist/assets/core-de8e51b5.js +0 -26236
- package/dist/assets/ui-4f308e45.css +0 -1
- /package/dist/assets/{vue-62303c82.js → vue-1b861f55.js} +0 -0
- /package/dist/assets/{vuetify-99195777.css → vuetify-439ba6d5.css} +0 -0
|
@@ -35,8 +35,13 @@
|
|
|
35
35
|
:disabled="movementApiCallsDisabled"
|
|
36
36
|
/>
|
|
37
37
|
</v-row>
|
|
38
|
-
<v-row justify="center" v-if="is3D">
|
|
39
|
-
<TiltSlider
|
|
38
|
+
<v-row justify="center" v-if="is3D || isPanorama">
|
|
39
|
+
<TiltSlider
|
|
40
|
+
v-model="tilt"
|
|
41
|
+
:disabled="movementApiCallsDisabled"
|
|
42
|
+
:max-tilt="isPanorama ? 89 : undefined"
|
|
43
|
+
:min-tilt="isPanorama ? -89 : undefined"
|
|
44
|
+
/>
|
|
40
45
|
</v-row>
|
|
41
46
|
<v-row v-if="!hideRotationButton && is3D" justify="center">
|
|
42
47
|
<OrientationToolsButton
|
|
@@ -61,10 +66,10 @@
|
|
|
61
66
|
<v-row justify="center">
|
|
62
67
|
<OrientationToolsButton
|
|
63
68
|
v-if="showOverviewButton"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
:color="
|
|
67
|
-
@click.stop="
|
|
69
|
+
icon="$vcsMap"
|
|
70
|
+
tooltip="navigation.overviewMapTooltip"
|
|
71
|
+
:color="overviewMapState ? 'primary' : undefined"
|
|
72
|
+
@click.stop="toggleOverviewMap"
|
|
68
73
|
/>
|
|
69
74
|
</v-row>
|
|
70
75
|
</template>
|
|
@@ -79,16 +84,13 @@
|
|
|
79
84
|
ObliqueViewDirection,
|
|
80
85
|
startRotation,
|
|
81
86
|
rotationMapControlSymbol,
|
|
87
|
+
PanoramaMap,
|
|
82
88
|
} from '@vcmap/core';
|
|
83
89
|
import { VContainer, VRow } from 'vuetify/components';
|
|
84
90
|
import { useDisplay } from 'vuetify';
|
|
85
91
|
import { Math as CesiumMath } from '@vcmap-cesium/engine';
|
|
86
|
-
import { createOverviewMapAction } from '../actions/actionHelper.js';
|
|
87
92
|
import { createLocatorAction } from './locatorHelper.js';
|
|
88
|
-
import {
|
|
89
|
-
getWindowComponentOptions,
|
|
90
|
-
overviewMapLayerSymbol,
|
|
91
|
-
} from './overviewMap.js';
|
|
93
|
+
import { overviewMapLayerSymbol } from './overviewMap.js';
|
|
92
94
|
import VcsCompass from './VcsCompass.vue';
|
|
93
95
|
import VcsZoomButton from './VcsZoomButton.vue';
|
|
94
96
|
import TiltSlider from './TiltSlider.vue';
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
THREE_D: '3d',
|
|
208
210
|
TWO_D: '2d',
|
|
209
211
|
OBLIQUE: 'oblique',
|
|
212
|
+
PANORAMA: 'panorama',
|
|
210
213
|
};
|
|
211
214
|
|
|
212
215
|
function getViewModeForMap(map) {
|
|
@@ -214,6 +217,8 @@
|
|
|
214
217
|
return OrientationToolsViewMode.OBLIQUE;
|
|
215
218
|
} else if (map instanceof CesiumMap) {
|
|
216
219
|
return OrientationToolsViewMode.THREE_D;
|
|
220
|
+
} else if (map instanceof PanoramaMap) {
|
|
221
|
+
return OrientationToolsViewMode.PANORAMA;
|
|
217
222
|
}
|
|
218
223
|
return OrientationToolsViewMode.TWO_D;
|
|
219
224
|
}
|
|
@@ -225,16 +230,24 @@
|
|
|
225
230
|
* @returns {Promise<void>}
|
|
226
231
|
*/
|
|
227
232
|
async function zoom(map, out = false, zoomFactor = 2) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
233
|
+
if (map instanceof PanoramaMap) {
|
|
234
|
+
if (out) {
|
|
235
|
+
map.panoramaCameraController.zoomOut();
|
|
236
|
+
} else {
|
|
237
|
+
map.panoramaCameraController.zoomIn();
|
|
238
|
+
}
|
|
231
239
|
} else {
|
|
232
|
-
viewpoint
|
|
240
|
+
const viewpoint = await map.getViewpoint();
|
|
241
|
+
if (out) {
|
|
242
|
+
viewpoint.distance *= zoomFactor;
|
|
243
|
+
} else {
|
|
244
|
+
viewpoint.distance /= zoomFactor;
|
|
245
|
+
}
|
|
246
|
+
viewpoint.animate = true;
|
|
247
|
+
viewpoint.duration = 0.5;
|
|
248
|
+
viewpoint.cameraPosition = null;
|
|
249
|
+
await map.gotoViewpoint(viewpoint);
|
|
233
250
|
}
|
|
234
|
-
viewpoint.animate = true;
|
|
235
|
-
viewpoint.duration = 0.5;
|
|
236
|
-
viewpoint.cameraPosition = null;
|
|
237
|
-
await map.gotoViewpoint(viewpoint);
|
|
238
251
|
}
|
|
239
252
|
|
|
240
253
|
/**
|
|
@@ -314,11 +327,22 @@
|
|
|
314
327
|
return headingRef.value;
|
|
315
328
|
},
|
|
316
329
|
async set(headingValue) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
330
|
+
if (app.maps.activeMap instanceof PanoramaMap) {
|
|
331
|
+
const { camera } = app.maps.activeMap.getCesiumWidget();
|
|
332
|
+
camera.setView({
|
|
333
|
+
orientation: {
|
|
334
|
+
heading: CesiumMath.toRadians(headingValue),
|
|
335
|
+
pitch: camera.pitch,
|
|
336
|
+
roll: camera.roll,
|
|
337
|
+
},
|
|
338
|
+
});
|
|
339
|
+
} else {
|
|
340
|
+
const vp = await app.maps.activeMap.getViewpoint();
|
|
341
|
+
delete vp.cameraPosition;
|
|
342
|
+
vp.heading = headingValue;
|
|
343
|
+
vp.animate = true;
|
|
344
|
+
app.maps.activeMap.gotoViewpoint(vp);
|
|
345
|
+
}
|
|
322
346
|
},
|
|
323
347
|
});
|
|
324
348
|
|
|
@@ -327,29 +351,33 @@
|
|
|
327
351
|
return tiltRef.value;
|
|
328
352
|
},
|
|
329
353
|
set(tiltValue) {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
354
|
+
if (app.maps.activeMap instanceof PanoramaMap) {
|
|
355
|
+
const { camera } = app.maps.activeMap.getCesiumWidget();
|
|
356
|
+
camera.setView({
|
|
357
|
+
orientation: {
|
|
358
|
+
heading: camera.heading,
|
|
359
|
+
pitch: CesiumMath.toRadians(tiltValue),
|
|
360
|
+
roll: camera.roll,
|
|
361
|
+
},
|
|
362
|
+
});
|
|
363
|
+
} else {
|
|
364
|
+
const vp = app.maps.activeMap.getViewpointSync(); // XXX make async and debounce
|
|
365
|
+
vp.pitch = tiltValue;
|
|
366
|
+
app.maps.activeMap.gotoViewpoint(vp);
|
|
367
|
+
}
|
|
333
368
|
},
|
|
334
369
|
});
|
|
335
370
|
|
|
336
|
-
const { action: overviewAction, destroy: overviewDestroy } =
|
|
337
|
-
createOverviewMapAction(
|
|
338
|
-
app.overviewMap,
|
|
339
|
-
getWindowComponentOptions(),
|
|
340
|
-
app.windowManager,
|
|
341
|
-
);
|
|
342
371
|
const showOverviewButton = ref(
|
|
343
372
|
app.overviewMap.map.layerCollection.size > 0,
|
|
344
373
|
);
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
});
|
|
374
|
+
const toggleOverviewMap = async () => {
|
|
375
|
+
if (app.overviewMap.currentState.value) {
|
|
376
|
+
app.overviewMap.deactivate();
|
|
377
|
+
} else {
|
|
378
|
+
await app.overviewMap.activate();
|
|
379
|
+
}
|
|
380
|
+
};
|
|
353
381
|
|
|
354
382
|
const overviewMapListeners = [
|
|
355
383
|
app.overviewMap.map.layerCollection.added.addEventListener(() => {
|
|
@@ -368,6 +396,14 @@
|
|
|
368
396
|
}),
|
|
369
397
|
];
|
|
370
398
|
|
|
399
|
+
// Locator
|
|
400
|
+
const { action: locatorAction, destroy: destroyLocator } =
|
|
401
|
+
createLocatorAction(app);
|
|
402
|
+
|
|
403
|
+
const showLocatorButton = computed(() => {
|
|
404
|
+
return app.uiConfig.config.showLocator ?? true;
|
|
405
|
+
});
|
|
406
|
+
|
|
371
407
|
const movementApiCallsDisabled = ref(
|
|
372
408
|
!!app.maps.activeMap?.movementApiCallsDisabled,
|
|
373
409
|
);
|
|
@@ -390,9 +426,6 @@
|
|
|
390
426
|
});
|
|
391
427
|
|
|
392
428
|
onUnmounted(() => {
|
|
393
|
-
if (overviewDestroy) {
|
|
394
|
-
overviewDestroy();
|
|
395
|
-
}
|
|
396
429
|
if (destroyLocator) {
|
|
397
430
|
destroyLocator();
|
|
398
431
|
}
|
|
@@ -420,13 +453,15 @@
|
|
|
420
453
|
isOblique: computed(
|
|
421
454
|
() => viewMode.value === OrientationToolsViewMode.OBLIQUE,
|
|
422
455
|
),
|
|
456
|
+
isPanorama: computed(
|
|
457
|
+
() => viewMode.value === OrientationToolsViewMode.PANORAMA,
|
|
458
|
+
),
|
|
423
459
|
zoomIn() {
|
|
424
460
|
zoom(app.maps.activeMap);
|
|
425
461
|
}, // debounce?
|
|
426
462
|
zoomOut() {
|
|
427
463
|
zoom(app.maps.activeMap, true);
|
|
428
464
|
},
|
|
429
|
-
overviewAction: reactive(overviewAction),
|
|
430
465
|
locatorAction: reactive(locatorAction),
|
|
431
466
|
showOverviewButton,
|
|
432
467
|
showLocatorButton,
|
|
@@ -435,6 +470,8 @@
|
|
|
435
470
|
rotationAction,
|
|
436
471
|
movementApiCallsDisabled,
|
|
437
472
|
mobileLandscape,
|
|
473
|
+
overviewMapState: app.overviewMap.currentState,
|
|
474
|
+
toggleOverviewMap,
|
|
438
475
|
};
|
|
439
476
|
},
|
|
440
477
|
};
|
|
@@ -7,42 +7,9 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
7
7
|
tilt: import("vue").WritableComputedRef<number>;
|
|
8
8
|
is3D: import("vue").ComputedRef<boolean>;
|
|
9
9
|
isOblique: import("vue").ComputedRef<boolean>;
|
|
10
|
+
isPanorama: import("vue").ComputedRef<boolean>;
|
|
10
11
|
zoomIn(): void;
|
|
11
12
|
zoomOut(): void;
|
|
12
|
-
overviewAction: {
|
|
13
|
-
/**
|
|
14
|
-
* - reactive and translatable name rendered in overflow
|
|
15
|
-
*/
|
|
16
|
-
name: string;
|
|
17
|
-
/**
|
|
18
|
-
* - reactive and translatable title rendered as tooltip
|
|
19
|
-
*/
|
|
20
|
-
title?: string | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* - icon rendered on the button. If no icon provided, item is rendered in overflow
|
|
23
|
-
*/
|
|
24
|
-
icon?: string | undefined;
|
|
25
|
-
/**
|
|
26
|
-
* - callback function is triggered when the button is clicked
|
|
27
|
-
*/
|
|
28
|
-
callback: import("../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).ActionCallback;
|
|
29
|
-
/**
|
|
30
|
-
* - optional state of button. If active, button is rendered in primary color
|
|
31
|
-
*/
|
|
32
|
-
active?: boolean | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* - optional hasUpdate of button. If true, a yellow notification is rendered next to the button
|
|
35
|
-
*/
|
|
36
|
-
hasUpdate?: boolean | undefined;
|
|
37
|
-
/**
|
|
38
|
-
* - optional background state. If active and background, button is rendered in primary color outlined
|
|
39
|
-
*/
|
|
40
|
-
background?: boolean | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* - optional flag to indicate that the action is disabled
|
|
43
|
-
*/
|
|
44
|
-
disabled?: boolean | undefined;
|
|
45
|
-
};
|
|
46
13
|
locatorAction: {
|
|
47
14
|
/**
|
|
48
15
|
* - reactive and translatable name rendered in overflow
|
|
@@ -84,5 +51,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
84
51
|
rotationAction: any;
|
|
85
52
|
movementApiCallsDisabled: import("vue").Ref<boolean>;
|
|
86
53
|
mobileLandscape: import("vue").ComputedRef<boolean>;
|
|
54
|
+
overviewMapState: import("vue").ComputedRef<boolean>;
|
|
55
|
+
toggleOverviewMap: () => Promise<void>;
|
|
87
56
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
|
|
88
57
|
export default _default;
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
:track-color="'base-lighten-3'"
|
|
13
13
|
thumb-color="base-darken-4"
|
|
14
14
|
track-fill-color="'base-darken-4'"
|
|
15
|
-
:max="
|
|
16
|
-
:min="
|
|
15
|
+
:max="maxTilt"
|
|
16
|
+
:min="minTilt"
|
|
17
17
|
direction="vertical"
|
|
18
18
|
hide-details
|
|
19
19
|
class="vcs-tilt-slider"
|
|
@@ -51,6 +51,14 @@
|
|
|
51
51
|
required: false,
|
|
52
52
|
default: false,
|
|
53
53
|
},
|
|
54
|
+
minTilt: {
|
|
55
|
+
type: Number,
|
|
56
|
+
default: -90,
|
|
57
|
+
},
|
|
58
|
+
maxTilt: {
|
|
59
|
+
type: Number,
|
|
60
|
+
default: 0,
|
|
61
|
+
},
|
|
54
62
|
},
|
|
55
63
|
setup(props, { emit }) {
|
|
56
64
|
const fontSize = useFontSize();
|
|
@@ -8,6 +8,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
8
8
|
required: false;
|
|
9
9
|
default: boolean;
|
|
10
10
|
};
|
|
11
|
+
minTilt: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
default: number;
|
|
14
|
+
};
|
|
15
|
+
maxTilt: {
|
|
16
|
+
type: NumberConstructor;
|
|
17
|
+
default: number;
|
|
18
|
+
};
|
|
11
19
|
}, {
|
|
12
20
|
localValue: import("vue").Ref<any>;
|
|
13
21
|
tickSize: import("vue").ComputedRef<number>;
|
|
@@ -15,6 +23,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15
23
|
props: import("@vue/shared").LooseRequired<{
|
|
16
24
|
readonly disabled: boolean;
|
|
17
25
|
readonly modelValue: number;
|
|
26
|
+
readonly minTilt: number;
|
|
27
|
+
readonly maxTilt: number;
|
|
18
28
|
} & {}>;
|
|
19
29
|
minWidth: import("vue").ComputedRef<number>;
|
|
20
30
|
minHeight: import("vue").ComputedRef<number>;
|
|
@@ -28,7 +38,17 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
28
38
|
required: false;
|
|
29
39
|
default: boolean;
|
|
30
40
|
};
|
|
41
|
+
minTilt: {
|
|
42
|
+
type: NumberConstructor;
|
|
43
|
+
default: number;
|
|
44
|
+
};
|
|
45
|
+
maxTilt: {
|
|
46
|
+
type: NumberConstructor;
|
|
47
|
+
default: number;
|
|
48
|
+
};
|
|
31
49
|
}>>, {
|
|
32
50
|
disabled: boolean;
|
|
51
|
+
minTilt: number;
|
|
52
|
+
maxTilt: number;
|
|
33
53
|
}, {}>;
|
|
34
54
|
export default _default;
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
@click="!xs && $event.stopPropagation()"
|
|
17
17
|
@direction-click="$emit('update:modelValue', $event)"
|
|
18
18
|
:can-emit="
|
|
19
|
-
!disabled &&
|
|
19
|
+
!disabled &&
|
|
20
|
+
!xs &&
|
|
21
|
+
(viewMode === '3d' || viewMode === 'oblique' || viewMode === 'panorama')
|
|
20
22
|
"
|
|
21
23
|
:hide-ticks="viewMode === 'oblique'"
|
|
22
24
|
/>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
* @returns {import("../manager/window/windowManager.js").WindowComponentOptions}
|
|
3
|
-
*/
|
|
4
|
-
export function getWindowComponentOptions(): import("../manager/window/windowManager.js").WindowComponentOptions;
|
|
5
|
-
export const overviewMapWindowId: "overview-map-container";
|
|
1
|
+
export const overviewMapContainerId: "overview-map-container";
|
|
6
2
|
export const overviewMapLayerSymbol: unique symbol;
|
|
7
3
|
export default OverviewMap;
|
|
4
|
+
/**
|
|
5
|
+
* panorama behavior
|
|
6
|
+
* 1. in panorama, only allow clicking on a footprint
|
|
7
|
+
* 2. in other maps, if you click directly on a panorama footprint, switch maps and go to image (same as clicking on the footprint in the main map)
|
|
8
|
+
*/
|
|
8
9
|
/**
|
|
9
10
|
* A 2D OverviewMap for cesium, openlayers and oblique map.
|
|
10
11
|
* Baselayers are added to the OverviewMap using `showInOverviewMap` flag within the properties bag of a layer configuration.
|
|
@@ -21,7 +22,7 @@ declare class OverviewMap {
|
|
|
21
22
|
*/
|
|
22
23
|
private _app;
|
|
23
24
|
/**
|
|
24
|
-
* @type {boolean}
|
|
25
|
+
* @type {import("vue").Ref<boolean>}
|
|
25
26
|
* @private
|
|
26
27
|
*/
|
|
27
28
|
private _active;
|
|
@@ -86,6 +87,11 @@ declare class OverviewMap {
|
|
|
86
87
|
* @type {number}
|
|
87
88
|
*/
|
|
88
89
|
minimumHeight: number;
|
|
90
|
+
/**
|
|
91
|
+
* Handles image selection on panorama features
|
|
92
|
+
* @type {import("@vcmap/core").PanoramaImageSelection}
|
|
93
|
+
*/
|
|
94
|
+
_panoramaImageSelection: import("@vcmap/core").PanoramaImageSelection;
|
|
89
95
|
/**
|
|
90
96
|
* Handles the events from the overview map.
|
|
91
97
|
* @type {EventHandler}
|
|
@@ -118,7 +124,11 @@ declare class OverviewMap {
|
|
|
118
124
|
* @private
|
|
119
125
|
*/
|
|
120
126
|
private _collectionListeners;
|
|
121
|
-
|
|
127
|
+
_uiConfigWatchers: import("vue").WatchStopHandle[];
|
|
128
|
+
/**
|
|
129
|
+
* @type {import("vue").ComputedRef<boolean>}
|
|
130
|
+
*/
|
|
131
|
+
currentState: import("vue").ComputedRef<boolean>;
|
|
122
132
|
/**
|
|
123
133
|
* @type {boolean}
|
|
124
134
|
*/
|
|
@@ -131,6 +141,10 @@ declare class OverviewMap {
|
|
|
131
141
|
* @type {EventHandler|null}
|
|
132
142
|
*/
|
|
133
143
|
get eventHandler(): EventHandler | null;
|
|
144
|
+
/**
|
|
145
|
+
* @type {import("@vcmap/core").PanoramaImageSelection}
|
|
146
|
+
*/
|
|
147
|
+
get panoramaImageSelection(): PanoramaImageSelection;
|
|
134
148
|
/**
|
|
135
149
|
* An event which is triggered whenever the overview map is clicked.
|
|
136
150
|
* Is passed a {@link InteractionEvent} as its only argument
|
|
@@ -153,7 +167,7 @@ declare class OverviewMap {
|
|
|
153
167
|
*/
|
|
154
168
|
activate(): Promise<void>;
|
|
155
169
|
/**
|
|
156
|
-
*
|
|
170
|
+
* clears all listeners
|
|
157
171
|
*/
|
|
158
172
|
deactivate(): void;
|
|
159
173
|
/**
|
|
@@ -206,3 +220,4 @@ declare class OverviewMap {
|
|
|
206
220
|
import { VectorStyleItem } from '@vcmap/core';
|
|
207
221
|
import { OpenlayersMap } from '@vcmap/core';
|
|
208
222
|
import { EventHandler } from '@vcmap/core';
|
|
223
|
+
import { PanoramaImageSelection } from '@vcmap/core';
|