From e058462f415d7a68bbd70b0785ae66e9015a5137 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Wed, 22 Nov 2023 15:57:21 +0100 Subject: [PATCH] Add support for multi language map legend --- spatial/static/spatial/js/gridmap.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/spatial/static/spatial/js/gridmap.js b/spatial/static/spatial/js/gridmap.js index a9413ea4..160bb955 100644 --- a/spatial/static/spatial/js/gridmap.js +++ b/spatial/static/spatial/js/gridmap.js @@ -6,8 +6,8 @@ proj4.defs( let layers = []; -//let mapserverURL="https://testvips.nibio.no/cgi-bin/"; -let mapserverURL="https://gridweb.vips.nibio.no/cgi-bin/"; +let mapserverURL="https://testvips.nibio.no/cgi-bin/"; +//let mapserverURL="https://gridweb.vips.nibio.no/cgi-bin/"; let modelId = undefined; let today = getSystemTime().format("YYYY-MM-DD"); let todayLayerIndex = undefined; @@ -29,11 +29,15 @@ async function switchLayer(dayIndex) layers[i].setVisible(i==currentLayerOrdering); if(layers[i].getVisible()) { - document.getElementById("layerLegendImg").src=currentLayer.Style[0].LegendURL[0].OnlineResource; - //console.info(currentLayer.Style[0].LegendURL[0].OnlineResource); - // Get the legend! - //let legendURL = layers[i].getSource().getLegendUrl(map.getView().getResolution()); - //console.info(legendURL); + // See if there is a language specific legend available + if(document.getElementById("layerLegend").innerHTML=currentLayer.Abstract != undefined) + { + document.getElementById("layerLegend").innerHTML=currentLayer.Abstract; + } + else // Fallback to auto generated legend + { + document.getElementById("layerLegend").innerHTML='<img id="layerLegendImg" src="' + currentLayer.Style[0].LegendURL[0].OnlineResource + '"/>'; + } } } setCurrentDate(dayIndex); @@ -146,6 +150,10 @@ msLoadMap(): Unable to access file. (/disks/data01/mapserver/wms/SEPTREFFUM/SEPT { let currentLayer = timestampLayers[params[j]]; let currentLayerParam = currentLayer.Name.split(".")[1]; + if(j==0) + { + console.info(currentLayer.Abstract); + } layers.push( new ol.layer.Image({ source: new ol.source.ImageWMS({ -- GitLab