From 4bd6c2b85643483f0da5c2298141d2b876d209ec Mon Sep 17 00:00:00 2001 From: Pascal Roehling Date: Mon, 17 Feb 2025 12:13:13 +0100 Subject: [PATCH] Allow layers that have singleTile: true set to be used for gfi requests --- packages/plugins/Gfi/CHANGELOG.md | 4 ++++ packages/plugins/Gfi/src/types.ts | 5 +++-- packages/plugins/Gfi/src/utils/requestGfi.ts | 7 ++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/plugins/Gfi/CHANGELOG.md b/packages/plugins/Gfi/CHANGELOG.md index 73e2a14b4..9ebd40cdc 100644 --- a/packages/plugins/Gfi/CHANGELOG.md +++ b/packages/plugins/Gfi/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## unpublished + +- Fix: Allow layers that have `singleTile` set to `true` and thus being an `ImageLayer` instead a `TileLayer` to be used for GFI-requests as well. + ## 3.0.1 - Fix: Clean-up internal flag used for `multiSelect` if a drawing is aborted. This is always the case if a user simply clicks into the map holding CTRL / Command. diff --git a/packages/plugins/Gfi/src/types.ts b/packages/plugins/Gfi/src/types.ts index 6cb976d86..3e4a24c84 100644 --- a/packages/plugins/Gfi/src/types.ts +++ b/packages/plugins/Gfi/src/types.ts @@ -1,7 +1,8 @@ import { Map, Feature } from 'ol' import BaseLayer from 'ol/layer/Base' +import ImageLayer from 'ol/layer/Image' import TileLayer from 'ol/layer/Tile' -import { TileWMS } from 'ol/source' +import { ImageWMS, TileWMS } from 'ol/source' import VectorSource from 'ol/source/Vector' import { Feature as GeoJsonFeature, GeoJsonProperties } from 'geojson' import { @@ -31,7 +32,7 @@ export interface RequestGfiWmsParameters { coordinate: [number, number] layerConfiguration: RequestGfiParameters['layerConfiguration'] layerSpecification: RequestGfiParameters['layerSpecification'] - layer: TileLayer + layer: TileLayer | ImageLayer } export type FeaturesByLayerId = Record diff --git a/packages/plugins/Gfi/src/utils/requestGfi.ts b/packages/plugins/Gfi/src/utils/requestGfi.ts index ac31b3f6a..308b392be 100644 --- a/packages/plugins/Gfi/src/utils/requestGfi.ts +++ b/packages/plugins/Gfi/src/utils/requestGfi.ts @@ -1,7 +1,8 @@ import { Feature as GeoJsonFeature } from 'geojson' -import { Tile as TileLayer, Vector as VectorLayer } from 'ol/layer' +import ImageLayer from 'ol/layer/Image' +import TileLayer from 'ol/layer/Tile' +import VectorLayer from 'ol/layer/Vector' import { rawLayerList } from '@masterportal/masterportalapi' - import { RequestGfiParameters } from '../types' import requestGfiWms from './requestGfiWms' @@ -32,7 +33,7 @@ export function requestGfi({ layerConfiguration, layerSpecification, } - if (layer instanceof TileLayer) { + if (layer instanceof TileLayer || layer instanceof ImageLayer) { return coordinateOrExtent.length === 2 ? requestGfiWms({ ...params,