diff --git a/package-lock.json b/package-lock.json index f4d25fc1..c98eaa1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@deltares/fews-ssd-webcomponent": "^1.0.2", "@deltares/fews-web-oc-charts": "^3.0.3-beta.6", "@deltares/fews-wms-requests": "^1.0.2", - "@indoorequal/vue-maplibre-gl": "^7.5.0", + "@indoorequal/vue-maplibre-gl": "^7.5.1", "@jsonforms/core": "^3.1.0", "@jsonforms/vue": "^3.1.0", "@jsonforms/vue-vuetify": "^3.1.0-preview.0", @@ -727,9 +727,9 @@ "dev": true }, "node_modules/@indoorequal/vue-maplibre-gl": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@indoorequal/vue-maplibre-gl/-/vue-maplibre-gl-7.5.0.tgz", - "integrity": "sha512-oFTjEyDieV4SqnF+7x4TarpO5HOObygcJrvdzbefFCu5mnWdTw9HB15iv41ED2vxPSZ/g7zdZXqhJqD60wheDA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@indoorequal/vue-maplibre-gl/-/vue-maplibre-gl-7.6.0.tgz", + "integrity": "sha512-iF4NpuDBJGVF+yJVeQOA39WJNSGGBRDGpX3lCIpso1VSIam3B4qg8eXFwgR6cr2wfu5D6bg9I7aJ0A+QxYrsqg==", "engines": { "node": ">=18" }, diff --git a/package.json b/package.json index 59e1894a..b90dbabc 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@deltares/fews-ssd-webcomponent": "^1.0.2", "@deltares/fews-web-oc-charts": "^3.0.3-beta.6", "@deltares/fews-wms-requests": "^1.0.2", - "@indoorequal/vue-maplibre-gl": "^7.5.0", + "@indoorequal/vue-maplibre-gl": "^7.5.1", "@jsonforms/core": "^3.1.0", "@jsonforms/vue": "^3.1.0", "@jsonforms/vue-vuetify": "^3.1.0-preview.0", diff --git a/src/components/spatialdisplay/SpatialDisplayComponent.vue b/src/components/spatialdisplay/SpatialDisplayComponent.vue index 38a101e7..f34d1313 100644 --- a/src/components/spatialdisplay/SpatialDisplayComponent.vue +++ b/src/components/spatialdisplay/SpatialDisplayComponent.vue @@ -464,6 +464,11 @@ function setLayerOptions(): void { function onCoordinateClick( event: MapLayerMouseEvent | MapLayerTouchEvent, ): void { + if (workflowsStore.isSelectingCoordinate) { + workflowsStore.coordinate = event.lngLat + return + } + emit( 'coordinateClick', +event.lngLat.lat.toFixed(3), @@ -505,6 +510,10 @@ function onCoordinateMoved(lat: number, lng: number): void { max-width: 100%; z-index: 3; } + +.mapcomponent__controls-container :deep(.v-slide-group__content) { + padding: 0 8px; +} diff --git a/src/components/wms/AnimatedRasterLayer.vue b/src/components/wms/AnimatedRasterLayer.vue index 731c35cb..d96b91f9 100644 --- a/src/components/wms/AnimatedRasterLayer.vue +++ b/src/components/wms/AnimatedRasterLayer.vue @@ -76,11 +76,13 @@ function onDoubleClick(event: MapLayerMouseEvent | MapLayerTouchEvent): void { emit('doubleclick', event) } -function onStartLoading(): void { +function onStartLoading(e: MapSourceDataEvent): void { + if (e.sourceId !== currentLayer) return isLoading.value = true } -function onEndLoading(): void { +function onEndLoading(e: MapSourceDataEvent): void { + if (e.sourceId !== currentLayer) return isLoading.value = false } diff --git a/src/components/wms/CoordinateSelectorLayer.vue b/src/components/wms/CoordinateSelectorLayer.vue index 709129c0..9894932f 100644 --- a/src/components/wms/CoordinateSelectorLayer.vue +++ b/src/components/wms/CoordinateSelectorLayer.vue @@ -5,18 +5,60 @@ draggable :offset="[0, 4]" anchor="bottom" + @dragstart="onDragStart" + @dragend="onDragEnd" > + + diff --git a/src/components/wms/LocationsLayer.vue b/src/components/wms/LocationsLayer.vue index c27cbcec..7e3abfff 100644 --- a/src/components/wms/LocationsLayer.vue +++ b/src/components/wms/LocationsLayer.vue @@ -1,38 +1,60 @@ + + diff --git a/src/lib/workflows/index.ts b/src/lib/workflows/index.ts index ba18dfc4..0e044a70 100644 --- a/src/lib/workflows/index.ts +++ b/src/lib/workflows/index.ts @@ -2,12 +2,12 @@ import { LngLat } from 'maplibre-gl' export function coordinateToString(coordinate: LngLat | null) { return coordinate - ? `${coordinate.lng.toFixed(2)}°E ${coordinate.lat.toFixed(2)}°N` + ? `${coordinate.lat.toFixed(2)}°N ${coordinate.lng.toFixed(2)}°E` : '—' } export function coordinateToStringParts(coordinate: LngLat | null) { return coordinate - ? [`${coordinate.lng.toFixed(2)}°E`, `${coordinate.lat.toFixed(2)}°N`] - : ['—°E', '—°N'] + ? [`${coordinate.lat.toFixed(2)}°N`, `${coordinate.lng.toFixed(2)}°E`] + : ['—°N', '—°E'] }