From 19a5fec2142adef94ff0638dc46bc42af947f1e6 Mon Sep 17 00:00:00 2001 From: ClemensFischer Date: Sun, 28 Dec 2025 17:47:15 +0100 Subject: [PATCH] Fixed WmsImageLayer --- MapControl/Shared/WmsImageLayer.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/MapControl/Shared/WmsImageLayer.cs b/MapControl/Shared/WmsImageLayer.cs index 4a922db5..e4c89c12 100644 --- a/MapControl/Shared/WmsImageLayer.cs +++ b/MapControl/Shared/WmsImageLayer.cs @@ -286,17 +286,13 @@ namespace MapControl #endif var imagePos = transform.Transform(position); - var layers = RequestLayers ?? AvailableLayers?.FirstOrDefault() ?? ""; - - return GetRequestUri(new Dictionary + var queryParameters = new Dictionary { { "SERVICE", "WMS" }, { "VERSION", "1.3.0" }, { "REQUEST", "GetFeatureInfo" }, - { "LAYERS", layers }, - { "QUERY_LAYERS", layers }, + { "LAYERS", RequestLayers ?? AvailableLayers?.FirstOrDefault() ?? "" }, { "STYLES", RequestStyles ?? "" }, - { "FORMAT", "image/png" }, { "INFO_FORMAT", format }, { "CRS", GetCrsValue() }, { "BBOX", GetBboxValue(mapBoundingBox) }, @@ -304,7 +300,15 @@ namespace MapControl { "HEIGHT", Math.Round(height).ToString("F0") }, { "I", Math.Round(imagePos.X).ToString("F0") }, { "J", Math.Round(imagePos.Y).ToString("F0") } - }); + }; + + // GetRequestUri may modify queryParameters["LAYERS"]. + // + var uriBuilder = new UriBuilder(GetRequestUri(queryParameters)); + + uriBuilder.Query += "&QUERY_LAYERS=" + queryParameters["LAYERS"]; + + return uriBuilder.Uri; } protected virtual string GetCrsValue()