Newer
Older
<div style="height:100%;overflow:auto">
<p class="text-xs ma-1 ">
@change="$emit('layerVisibility',$event,'stationLayer')"
<svg xmlns="http://www.w3.org/2000/svg" height="24px" width="24px" viewBox="0 0 24 24" fill="%23333333"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" stroke="black"/></svg>
Wetterstationen
</template>
</v-checkbox>
{{parseInt(this.mapProperties.getTemperatureBound().min)}} °C
:style="{ backgroundImage: createStationColorramp(mapProperties.getTemperatureColorMap()) }"
></div>
<div style="float:left;margin-top:5px;">
{{parseInt(this.mapProperties.getTemperatureBound().max)}} °C
:min="mapProperties.completeDaterange[0]"
:max="mapProperties.completeDaterange[1]"
</v-card-text>
</v-card>
<v-card class="ma-1">
<v-card-text>
<v-checkbox
>
<template v-slot:label>
<div>
<v-icon>
mdi-checkerboard
</v-icon>
Durchschnittstemperatur Layer 1
</div>
</template>
</v-checkbox>
<div style="margin-top:1em;">
<div style="float:left;margin-top:5px;">
{{parseInt(this.mapProperties.getTemperatureBound().min)}} °C
</div>
<div
class="gradient mx-1"
:style="{ backgroundImage: createStationColorramp(mapProperties.getMeanColorMap('hex')) }"
></div>
<div style="float:left;margin-top:5px;">
{{parseInt(this.mapProperties.getTemperatureBound().max)}} °C
</div>
</div>
<div ref="legendTemperature1" id="legendTemperature1"></div>
<v-range-slider
:min="mapProperties.completeDaterange[0]"
:max="mapProperties.completeDaterange[1]"
style="margin-top:1em;width:330px;margin-left:12px;margin-bottom:-25px;"
>
</v-range-slider>
</v-card-text>
</v-card>
>
<template v-slot:label>
<div>
<v-icon>
mdi-checkerboard
</v-icon>
Durchschnittstemperatur Layer 2
</div>
</template>
</v-checkbox>
<div style="margin-top:1em;">
<div style="float:left;margin-top:5px;">
{{parseInt(this.mapProperties.getTemperatureBound().min)}} °C
</div>
<div
class="gradient mx-1"
:style="{ backgroundImage: createStationColorramp(mapProperties.getMeanColorMap('hex')) }"
></div>
<div style="float:left;margin-top:5px;">
{{parseInt(this.mapProperties.getTemperatureBound().max)}} °C
</div>
</div>
<div ref="legendTemperature2" id="legendTemperature2"></div>
:min="mapProperties.completeDaterange[0]"
:max="mapProperties.completeDaterange[1]"
style="margin-top:1em;width:330px;margin-left:12px;margin-bottom:-25px;"
<v-progress-linear
indeterminate
color="blue darken-2"
@change="$emit('layerVisibility',$event,'anomalieLayer')"
>
<template v-slot:label>
<div>
<v-icon>
mdi-checkerboard
</v-icon>
Temperaturanomalie
</div>
</template>
</v-checkbox>
<div style="margin-top:1em;height:30px;">
<div style="float:left;margin-top:5px;">
-1 °C
</div>
<div
class="gradient mx-1"
:style="{ backgroundImage: createStationColorramp(mapProperties.getAnomalieColorMap('hex')) }"
></div>
<div style="float:left;margin-top:5px;">
3 °C
</div>
</div>
</v-card-text>
</v-card>
<v-btn
class="ma-1"
:loading="loading"
:disabled="loading"
color="blue"
.gradient{
width:75%;
float:left;
height:30px;
background-color:black;
}
</style>
import {Vue, Ref, Component, Emit, Prop } from 'vue-property-decorator';
import MapProperties from './MapProperties';
import TemperatureLegendChart from './TemperatureLegendChart';
@Component({})
export default class Legend extends Vue{
@Prop({type: MapProperties, required: true}) mapProperties: MapProperties;
private stationLayerActive: boolean = true;
private layer1Active: boolean = true;
private layer2Active: boolean = true;
private anomalieLayerActive: boolean = true;
axios.get("http://127.0.0.1:42000/annualMean", {
headers: {'Access-Control-Allow-Origin': '*'}
}).then(resp => {
this.mapProperties.completeDaterange = [resp.data[0].date, resp.data[resp.data.length-1].date];
let tChart1 = new TemperatureLegendChart();
tChart1.render("legendTemperature1", resp.data);
let tChart2 = new TemperatureLegendChart();
tChart2.render("legendTemperature2", resp.data);
setTimeout(() => (this.mapProperties._loadLayer2 = false), 3000)
this.mapProperties._loadLayer2 = true;
private createStationColorramp(colormap: string[]){
let gradientStyle = 'linear-gradient(to right, ';
gradientStyle += colormap.join(', ');
gradientStyle += ')';
return gradientStyle;
}