Mercurial > gemma
diff client/src/components/Maplayer.vue @ 2482:ae1987c5beb3 critical-bottlenecks
client: display bottleneck status in separate layer
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Fri, 01 Mar 2019 14:55:58 +0100 |
parents | ba15d3534b2b |
children | 7247eb03e7c0 |
line wrap: on
line diff
--- a/client/src/components/Maplayer.vue Fri Mar 01 13:51:09 2019 +0100 +++ b/client/src/components/Maplayer.vue Fri Mar 01 14:55:58 2019 +0100 @@ -352,6 +352,20 @@ ); layer.data.setVisible(layer.isVisible); + layer = this.getLayerByName(LAYERS.BOTTLENECKSTATUS); + layer.data.getSource().setLoader( + this.buildVectorLoader( + { + featureNS: "gemma", + featurePrefix: "gemma", + featureTypes: ["bottlenecks_geoserver"], + geometryName: "area" + }, + "/internal/wfs", + layer.data.getSource() + ) + ); + layer = this.getLayerByName(LAYERS.BOTTLENECKS); layer.data.getSource().setLoader( this.buildVectorLoader( @@ -370,22 +384,27 @@ headers: { "X-Gemma-Auth": localStorage.getItem("token") } }) .then(response => { - this.btlnStrokeC = response.data.code; + let btlnStrokeC = response.data.code; HTTP.get("/system/style/Bottlenecks/fill", { headers: { "X-Gemma-Auth": localStorage.getItem("token") } }) .then(response => { - this.btlnFillC = response.data.code; - var newstyle = new Style({ + let btlnFillC = response.data.code; + var newStyle = new Style({ stroke: new Stroke({ - color: this.btlnStrokeC, + color: btlnStrokeC, width: 4 }), fill: new Fill({ - color: this.btlnFillC + color: btlnFillC }) }); - layer.data.setStyle(newstyle); + layer.data.setStyle(function(feature, resolution) { + if (resolution <= 50) { + return newStyle; + } + return null; + }); }) .catch(error => { console.log(error);