comparison 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
comparison
equal deleted inserted replaced
2449:0c9121abf120 2482:ae1987c5beb3
350 layer.data.getSource() 350 layer.data.getSource()
351 ) 351 )
352 ); 352 );
353 layer.data.setVisible(layer.isVisible); 353 layer.data.setVisible(layer.isVisible);
354 354
355 layer = this.getLayerByName(LAYERS.BOTTLENECKSTATUS);
356 layer.data.getSource().setLoader(
357 this.buildVectorLoader(
358 {
359 featureNS: "gemma",
360 featurePrefix: "gemma",
361 featureTypes: ["bottlenecks_geoserver"],
362 geometryName: "area"
363 },
364 "/internal/wfs",
365 layer.data.getSource()
366 )
367 );
368
355 layer = this.getLayerByName(LAYERS.BOTTLENECKS); 369 layer = this.getLayerByName(LAYERS.BOTTLENECKS);
356 layer.data.getSource().setLoader( 370 layer.data.getSource().setLoader(
357 this.buildVectorLoader( 371 this.buildVectorLoader(
358 { 372 {
359 featureNS: "gemma", 373 featureNS: "gemma",
368 layer.data.setVisible(layer.isVisible); 382 layer.data.setVisible(layer.isVisible);
369 HTTP.get("/system/style/Bottlenecks/stroke", { 383 HTTP.get("/system/style/Bottlenecks/stroke", {
370 headers: { "X-Gemma-Auth": localStorage.getItem("token") } 384 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
371 }) 385 })
372 .then(response => { 386 .then(response => {
373 this.btlnStrokeC = response.data.code; 387 let btlnStrokeC = response.data.code;
374 HTTP.get("/system/style/Bottlenecks/fill", { 388 HTTP.get("/system/style/Bottlenecks/fill", {
375 headers: { "X-Gemma-Auth": localStorage.getItem("token") } 389 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
376 }) 390 })
377 .then(response => { 391 .then(response => {
378 this.btlnFillC = response.data.code; 392 let btlnFillC = response.data.code;
379 var newstyle = new Style({ 393 var newStyle = new Style({
380 stroke: new Stroke({ 394 stroke: new Stroke({
381 color: this.btlnStrokeC, 395 color: btlnStrokeC,
382 width: 4 396 width: 4
383 }), 397 }),
384 fill: new Fill({ 398 fill: new Fill({
385 color: this.btlnFillC 399 color: btlnFillC
386 }) 400 })
387 }); 401 });
388 layer.data.setStyle(newstyle); 402 layer.data.setStyle(function(feature, resolution) {
403 if (resolution <= 50) {
404 return newStyle;
405 }
406 return null;
407 });
389 }) 408 })
390 .catch(error => { 409 .catch(error => {
391 console.log(error); 410 console.log(error);
392 }); 411 });
393 }) 412 })