annotate client/src/map/Maplayer.vue @ 1207:70116d392387

close bottleneck list: made searchbar collapse only if it was collapsed before opening the bottleneck list will expand the searchbar, closing the bottleneck list was always collapsing the searchbar too. Now it stays open if it was open beforeopening the bottleneck list
author Markus Kottlaender <markus@intevation.de>
date Mon, 19 Nov 2018 13:02:48 +0100
parents 49740dcba52c
children 74562dc29e10
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
1 <template>
621
b17a4482d07d feat: UI adaptation of 4 slots
Thomas Junk <thomas.junk@intevation.de>
parents: 620
diff changeset
2 <div id="map" :class="mapStyle"></div>
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
3 </template>
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
4
1191
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
5 <style lang="sass" scoped>
1197
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1191
diff changeset
6 .nocursor
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1191
diff changeset
7 cursor: none
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1191
diff changeset
8
1191
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
9 .mapsplit
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
10 height: 50vh
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
11
1191
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
12 .mapfull
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
13 height: 100vh
879
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
14
1191
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
15 @media print
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
16 .mapfull
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
17 width: 2000px
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
18 height: 2828px
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
19
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
20 .mapsplit
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
21 width: 2000px
b23622905a3f switched entirely to sass instead of scss
Markus Kottlaender <markus@intevation.de>
parents: 1185
diff changeset
22 height: 2828px
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
23 </style>
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
24
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
25 <script>
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
26 /*
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
27 * This is Free Software under GNU Affero General Public License v >= 3.0
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
28 * without warranty, see README.md and license for details.
1062
d3bdad8ed8d3 client: simply code structure and add author
Bernhard Reiter <bernhard@intevation.de>
parents: 1043
diff changeset
29 *
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
30 * SPDX-License-Identifier: AGPL-3.0-or-later
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
31 * License-Filename: LICENSES/AGPL-3.0.txt
1062
d3bdad8ed8d3 client: simply code structure and add author
Bernhard Reiter <bernhard@intevation.de>
parents: 1043
diff changeset
32 *
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
33 * Copyright (C) 2018 by via donau
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
34 * – Österreichische Wasserstraßen-Gesellschaft mbH
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
35 * Software engineering by Intevation GmbH
1062
d3bdad8ed8d3 client: simply code structure and add author
Bernhard Reiter <bernhard@intevation.de>
parents: 1043
diff changeset
36 *
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
37 * Author(s):
1062
d3bdad8ed8d3 client: simply code structure and add author
Bernhard Reiter <bernhard@intevation.de>
parents: 1043
diff changeset
38 * * Thomas Junk <thomas.junk@intevation.de>
d3bdad8ed8d3 client: simply code structure and add author
Bernhard Reiter <bernhard@intevation.de>
parents: 1043
diff changeset
39 * * Bernhard E. Reiter <bernhard.reiter@intevation.de>
1019
ca628dce90dd Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents: 975
diff changeset
40 */
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
41 import { HTTP } from "../application/lib/http";
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
42 import { mapGetters, mapState } from "vuex";
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
43 import "ol/ol.css";
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
44 import { Map, View } from "ol";
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
45 import { WFS, GeoJSON } from "ol/format.js";
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
46 import { Stroke, Style, Fill } from "ol/style.js";
1159
f498494fceb5 zoom to bottleneck when clicked on map
Markus Kottlaender <markus@intevation.de>
parents: 1156
diff changeset
47 import { getCenter } from "ol/extent";
843
d2aa972df342 client: add example for setting style
Bernhard Reiter <bernhard@intevation.de>
parents: 842
diff changeset
48
848
22f7d33eee65 Make eslint happy again.
Sascha Wilde <wilde@intevation.de>
parents: 843
diff changeset
49 /* for the sake of debugging */
22f7d33eee65 Make eslint happy again.
Sascha Wilde <wilde@intevation.de>
parents: 843
diff changeset
50 /* eslint-disable no-console */
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
51 export default {
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
52 name: "maplayer",
1062
d3bdad8ed8d3 client: simply code structure and add author
Bernhard Reiter <bernhard@intevation.de>
parents: 1043
diff changeset
53 props: ["lat", "long", "zoom", "split"],
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
54 data() {
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
55 return {
1140
2e06bc53b002 separating line/polygon/cut tools in UI
Markus Kottlaender <markus@intevation.de>
parents: 1139
diff changeset
56 projection: "EPSG:3857"
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
57 };
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
58 },
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
59 computed: {
1122
a4c74a95c177 minor store refactoring
Markus Kottlaender <markus@intevation.de>
parents: 1121
diff changeset
60 ...mapGetters("map", ["getLayerByName"]),
1160
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
61 ...mapState("map", ["layers", "openLayersMap", "drawMode", "cutMode"]),
1111
f106aee673e7 selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents: 1104
diff changeset
62 ...mapState("bottlenecks", ["selectedSurvey"]),
593
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
63 mapStyle() {
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
64 return {
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
65 mapfull: !this.split,
1197
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1191
diff changeset
66 mapsplit: this.split,
49740dcba52c changed cut tool style
Markus Kottlaender <markus@intevation.de>
parents: 1191
diff changeset
67 nocursor: this.drawMode || this.cutMode
593
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
68 };
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
69 }
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
70 },
649
83081ba6c9c1 feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents: 630
diff changeset
71 methods: {
765
c1baaff348b0 client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents: 764
diff changeset
72 identify(coordinate, pixel) {
1160
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
73 if (!this.drawMode && !this.cutMode) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
74 this.$store.commit("map/setIdentifiedFeatures", []);
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
75 // checking our WFS layers
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
76 var features = this.openLayersMap.getFeaturesAtPixel(pixel);
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
77 if (features) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
78 this.$store.commit("map/setIdentifiedFeatures", features);
1144
5f98d0c9d738 linted code
Markus Kottlaender <markus@intevation.de>
parents: 1143
diff changeset
79
1160
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
80 // get selected bottleneck from identified features
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
81 for (let feature of features) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
82 let id = feature.getId();
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
83 // RegExp.prototype.test() works with number, str and undefined
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
84 if (/^bottlenecks\./.test(id)) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
85 this.$store.dispatch(
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
86 "bottlenecks/setSelectedBottleneck",
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
87 feature.get("objnam")
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
88 );
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
89 this.$store.commit("map/moveMap", {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
90 coordinates: getCenter(
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
91 feature
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
92 .getGeometry()
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
93 .clone()
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
94 .transform("EPSG:3857", "EPSG:4326")
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
95 .getExtent()
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
96 ),
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
97 zoom: 17,
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
98 preventZoomOut: true
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
99 });
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
100 }
1111
f106aee673e7 selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents: 1104
diff changeset
101 }
f106aee673e7 selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents: 1104
diff changeset
102 }
770
c12ec7fde3f2 client: add simple identify top area box
Bernhard Reiter <bernhard@intevation.de>
parents: 767
diff changeset
103
1160
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
104 // DEBUG output and example how to remove the GeometryName
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
105 /*
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
106 for (let feature of features) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
107 console.log("Identified:", feature.getId());
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
108 for (let key of feature.getKeys()) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
109 if (key != feature.getGeometryName()) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
110 console.log(key, feature.get(key));
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
111 }
765
c1baaff348b0 client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents: 764
diff changeset
112 }
c1baaff348b0 client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents: 764
diff changeset
113 }
1160
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
114 */
765
c1baaff348b0 client: add code to identify WFS features
Bernhard Reiter <bernhard@intevation.de>
parents: 764
diff changeset
115
1160
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
116 // trying the GetFeatureInfo way for WMS
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
117 var wmsSource = this.getLayerByName(
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
118 "Inland ECDIS chart Danube"
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
119 ).data.getSource();
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
120 var url = wmsSource.getGetFeatureInfoUrl(
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
121 coordinate,
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
122 100 /* resolution */,
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
123 "EPSG:3857",
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
124 // { INFO_FORMAT: "application/vnd.ogc.gml" } // not allowed by d4d
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
125 { INFO_FORMAT: "text/plain" }
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
126 );
764
a6a8fe89eb84 client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents: 754
diff changeset
127
1160
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
128 if (url) {
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
129 // cannot directly query here because of SOP
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
130 console.log("GetFeatureInfo url:", url);
c8c26912754c disable identifying when draw/cut mode are active
Markus Kottlaender <markus@intevation.de>
parents: 1159
diff changeset
131 }
764
a6a8fe89eb84 client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents: 754
diff changeset
132 }
a6a8fe89eb84 client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents: 754
diff changeset
133 },
701
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
134 buildVectorLoader(featureRequestOptions, endpoint, vectorSource) {
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
135 // build a function to be used for VectorSource.setLoader()
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
136 // make use of WFS().writeGetFeature to build the request
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
137 // and use our HTTP library to actually do it
703
e9c28c42c927 client: improve WFS loader
Bernhard Reiter <bernhard@intevation.de>
parents: 702
diff changeset
138 // NOTE: a) the geometryName has to be given in featureRequestOptions,
e9c28c42c927 client: improve WFS loader
Bernhard Reiter <bernhard@intevation.de>
parents: 702
diff changeset
139 // because we want to load depending on the bbox
e9c28c42c927 client: improve WFS loader
Bernhard Reiter <bernhard@intevation.de>
parents: 702
diff changeset
140 // b) the VectorSource has to have the option strategy: bbox
701
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
141 featureRequestOptions["outputFormat"] = "application/json";
702
aaf5dbfb9512 client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents: 701
diff changeset
142 var loader = function(extent, resolution, projection) {
701
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
143 featureRequestOptions["bbox"] = extent;
702
aaf5dbfb9512 client: improve loading of WFS features
Bernhard Reiter <bernhard@intevation.de>
parents: 701
diff changeset
144 featureRequestOptions["srsName"] = projection.getCode();
701
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
145 var featureRequest = new WFS().writeGetFeature(featureRequestOptions);
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
146 // DEBUG console.log(featureRequest);
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
147 HTTP.post(
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
148 endpoint,
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
149 new XMLSerializer().serializeToString(featureRequest),
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
150 {
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
151 headers: {
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
152 "X-Gemma-Auth": localStorage.getItem("token"),
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
153 "Content-type": "text/xml; charset=UTF-8"
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
154 }
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
155 }
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
156 )
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
157 .then(response => {
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
158 var features = new GeoJSON().readFeatures(
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
159 JSON.stringify(response.data)
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
160 );
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
161 vectorSource.addFeatures(features);
754
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 752
diff changeset
162 // console.log(
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 752
diff changeset
163 // "loaded",
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 752
diff changeset
164 // features.length,
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 752
diff changeset
165 // featureRequestOptions.featureTypes,
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 752
diff changeset
166 // "features"
105c421f99b1 refac: small improvements to code structure
Thomas Junk <thomas.junk@intevation.de>
parents: 752
diff changeset
167 // );
701
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
168 // DEBUG console.log("loaded ", features, "for", vectorSource);
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
169 // eslint-disable-next-line
713
badbc0207418 feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents: 709
diff changeset
170 })
badbc0207418 feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents: 709
diff changeset
171 .catch(() => {
701
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
172 vectorSource.removeLoadedExtent(extent);
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
173 });
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
174 };
8149772c62d6 client: add bbox loading strategy to riverkilometre
Bernhard Reiter <bernhard@intevation.de>
parents: 690
diff changeset
175 return loader;
842
ee6f127f573c client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents: 832
diff changeset
176 },
860
38b682eaa7b1 client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents: 859
diff changeset
177 updateBottleneckFilter(bottleneck_id, datestr) {
38b682eaa7b1 client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents: 859
diff changeset
178 console.log("updating filter with", bottleneck_id, datestr);
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
179 var layer = this.getLayerByName("Bottleneck isolines");
918
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
180 var wmsSrc = layer.data.getSource();
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
181
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
182 if (bottleneck_id != "does_not_exist") {
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
183 wmsSrc.updateParams({
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
184 cql_filter:
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
185 "date_info='" +
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
186 datestr +
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
187 "' AND bottleneck_id='" +
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
188 bottleneck_id +
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
189 "'"
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
190 });
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
191 layer.isVisible = true;
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
192 layer.data.setVisible(true);
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
193 } else {
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
194 layer.isVisible = false;
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
195 layer.data.setVisible(false);
054561be4d68 Switch bottleneck isolines layer off, when selection is empty.
Sascha Wilde <wilde@intevation.de>
parents: 902
diff changeset
196 }
879
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
197 },
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
198 onBeforePrint(/* evt */) {
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
199 // console.log("onBeforePrint(", evt ,")");
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
200 //
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
201 // the following code shows how to get the current map canvas
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
202 // and change it, however this does not work well enough, as
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
203 // another mechanism seems to update the size again before the rendering
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
204 // for printing is done:
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
205 // console.log(this.openLayersMap.getViewport());
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
206 // var canvas = this.openLayersMap.getViewport().getElementsByTagName("canvas")[0];
879
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
207 // console.log(canvas);
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
208 // canvas.width=1000;
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
209 // canvas.height=1414;
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
210 //
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
211 // An experiment which also did not work:
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
212 // this.openLayersMap.setSize([1000, 1414]); // estimate portait DIN A4
879
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
213 //
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
214 // according to documentation
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
215 // http://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html#updateSize
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
216 // "Force a recalculation of the map viewport size. This should be called when third-party code changes the size of the map viewport."
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
217 // but did not help
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
218 // this.openLayersMap.updateSize();
879
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
219 },
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
220 onAfterPrint(/* evt */) {
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
221 // could be used to undo changes that have been done for printing
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
222 // though https://www.tjvantoll.com/2012/06/15/detecting-print-requests-with-javascript/
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
223 // reported that this was not feasable (back then).
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
224 // console.log("onAfterPrint(", evt, ")");
649
83081ba6c9c1 feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents: 630
diff changeset
225 }
83081ba6c9c1 feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents: 630
diff changeset
226 },
593
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
227 watch: {
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
228 split() {
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
229 const map = this.openLayersMap;
594
6987b5c926b8 fix: leveraging vue.nexttick instead of timeout
Thomas Junk <thomas.junk@intevation.de>
parents: 593
diff changeset
230 this.$nextTick(() => {
593
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
231 map.updateSize();
594
6987b5c926b8 fix: leveraging vue.nexttick instead of timeout
Thomas Junk <thomas.junk@intevation.de>
parents: 593
diff changeset
232 });
860
38b682eaa7b1 client: add updateing of bottleneck filter
Bernhard Reiter <bernhard@intevation.de>
parents: 859
diff changeset
233 },
1111
f106aee673e7 selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents: 1104
diff changeset
234 selectedSurvey(newSelectedSurvey) {
f106aee673e7 selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents: 1104
diff changeset
235 if (newSelectedSurvey) {
861
aa4aaf04d41e client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents: 860
diff changeset
236 this.updateBottleneckFilter(
1111
f106aee673e7 selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents: 1104
diff changeset
237 newSelectedSurvey.bottleneck_id,
f106aee673e7 selected bottleneck and surveys now handled by bottleneck store
Markus Kottlaender <markus@intevation.de>
parents: 1104
diff changeset
238 newSelectedSurvey.date_info
861
aa4aaf04d41e client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents: 860
diff changeset
239 );
aa4aaf04d41e client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents: 860
diff changeset
240 } else {
aa4aaf04d41e client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents: 860
diff changeset
241 this.updateBottleneckFilter("does_not_exist", "1999-10-01");
aa4aaf04d41e client: improve update of bottleneck filters
Bernhard Reiter <bernhard@intevation.de>
parents: 860
diff changeset
242 }
593
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
243 }
c4a4dc612191 feat: Toggleable fairway profile
Thomas Junk <thomas.junk@intevation.de>
parents: 585
diff changeset
244 },
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
245 mounted() {
783
ab9604a46075 client: add move after clicking search result
Bernhard Reiter <bernhard@intevation.de>
parents: 782
diff changeset
246 let map = new Map({
1121
035dc35e1dfc moved draw layer in map store's layers property
Markus Kottlaender <markus@intevation.de>
parents: 1115
diff changeset
247 layers: [...this.layers.map(x => x.data)],
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
248 target: "map",
649
83081ba6c9c1 feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents: 630
diff changeset
249 controls: [],
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
250 view: new View({
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
251 center: [this.long, this.lat],
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
252 zoom: this.zoom,
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
253 projection: this.projection
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
254 })
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
255 });
1113
595654ad3f66 renamed mapstore to map (like other stores)
Markus Kottlaender <markus@intevation.de>
parents: 1112
diff changeset
256 this.$store.commit("map/setOpenLayersMap", map);
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
257
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
258 // TODO make display of layers more dynamic, e.g. from a list
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
259
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
260 // loading the full WFS layer, by not setting the loader function
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
261 // and without bboxStrategy
1103
dfe3966bb308 removed unnecessary methods and renamed variable
Markus Kottlaender <markus@intevation.de>
parents: 1071
diff changeset
262 var featureRequest = new WFS().writeGetFeature({
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
263 srsName: "EPSG:3857",
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
264 featureNS: "gemma",
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
265 featurePrefix: "gemma",
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
266 featureTypes: ["fairway_dimensions"],
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
267 outputFormat: "application/json"
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
268 });
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
269
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
270 // NOTE: loading the full fairway_dimensions makes sure
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
271 // that all are available for the intersection with the profile
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
272 HTTP.post(
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
273 "/internal/wfs",
1103
dfe3966bb308 removed unnecessary methods and renamed variable
Markus Kottlaender <markus@intevation.de>
parents: 1071
diff changeset
274 new XMLSerializer().serializeToString(featureRequest),
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
275 {
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
276 headers: {
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
277 "X-Gemma-Auth": localStorage.getItem("token"),
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
278 "Content-type": "text/xml; charset=UTF-8"
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
279 }
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
280 }
649
83081ba6c9c1 feat: Linetool added
Thomas Junk <thomas.junk@intevation.de>
parents: 630
diff changeset
281 ).then(response => {
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
282 var features = new GeoJSON().readFeatures(JSON.stringify(response.data));
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
283 var vectorSrc = this.getLayerByName(
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
284 "Fairway Dimensions"
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
285 ).data.getSource();
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
286 vectorSrc.addFeatures(features);
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
287 // would scale to the extend of all resulting features
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
288 // this.openLayersMap.getView().fit(vectorSrc.getExtent());
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
289 });
620
ef00684e021f client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents: 594
diff changeset
290
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
291 // load following layers with bboxStrategy (using our request builder)
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
292 var layer = null;
620
ef00684e021f client: add showing special buoys
Bernhard Reiter <bernhard@intevation.de>
parents: 594
diff changeset
293
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
294 layer = this.getLayerByName("Waterway Area");
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
295 layer.data.getSource().setLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
296 this.buildVectorLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
297 {
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
298 featurePrefix: "ws-wamos",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
299 featureTypes: ["ienc_wtware"],
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
300 geometryName: "geom"
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
301 },
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
302 "/external/d4d",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
303 layer.data.getSource()
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
304 )
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
305 );
628
ef9c733cc6aa client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents: 626
diff changeset
306
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
307 layer = this.getLayerByName("Waterway Axis");
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
308 layer.data.getSource().setLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
309 this.buildVectorLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
310 {
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
311 featurePrefix: "ws-wamos",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
312 featureTypes: ["ienc_wtwaxs"],
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
313 geometryName: "geom"
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
314 },
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
315 "/external/d4d",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
316 layer.data.getSource()
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
317 )
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
318 );
628
ef9c733cc6aa client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents: 626
diff changeset
319
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
320 layer = this.getLayerByName("Distance marks");
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
321 layer.data.getSource().setLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
322 this.buildVectorLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
323 {
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
324 featurePrefix: "ws-wamos",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
325 featureTypes: ["ienc_dismar"],
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
326 geometryName: "geom" //,
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
327 /* restrict loading approximately to extend of danube in Austria */
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
328 // filter: bboxFilter("geom", [13.3, 48.0, 17.1, 48.6], "EPSG:4326")
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
329 },
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
330 "/external/d4d",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
331 layer.data.getSource()
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
332 )
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
333 );
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
334 layer.data.setVisible(layer.isVisible);
628
ef9c733cc6aa client: show more wfs layers
Bernhard Reiter <bernhard@intevation.de>
parents: 626
diff changeset
335
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
336 layer = this.getLayerByName("Distance marks, Axis");
733
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
337 layer.data.getSource().setLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
338 this.buildVectorLoader(
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
339 {
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
340 featureNS: "gemma",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
341 featurePrefix: "gemma",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
342 featureTypes: ["distance_marks_geoserver"],
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
343 geometryName: "geom"
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
344 },
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
345 "/internal/wfs",
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
346 layer.data.getSource()
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
347 )
e57955c1996f client: improve code structure
Bernhard Reiter <bernhard@intevation.de>
parents: 716
diff changeset
348 );
745
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
349
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
350 layer = this.getLayerByName("Waterway Area, named");
745
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
351 layer.data.getSource().setLoader(
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
352 this.buildVectorLoader(
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
353 {
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
354 featureNS: "gemma",
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
355 featurePrefix: "gemma",
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
356 featureTypes: ["hydro_seaare"],
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
357 geometryName: "geom"
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
358 },
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
359 "/external/d4d",
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
360 layer.data.getSource()
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
361 )
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
362 );
f2691e0d4970 client: add wfs layer for named waterway areas.
Bernhard Reiter <bernhard@intevation.de>
parents: 738
diff changeset
363 layer.data.setVisible(layer.isVisible);
764
a6a8fe89eb84 client: add hooks for identify mode
Bernhard Reiter <bernhard@intevation.de>
parents: 754
diff changeset
364
957
93364f153da4 Backed out changeset c2b03f4755b6
Thomas Junk <thomas.junk@intevation.de>
parents: 956
diff changeset
365 layer = this.getLayerByName("Bottlenecks");
790
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
366 layer.data.getSource().setLoader(
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
367 this.buildVectorLoader(
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
368 {
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
369 featureNS: "gemma",
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
370 featurePrefix: "gemma",
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
371 featureTypes: ["bottlenecks"],
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
372 geometryName: "area"
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
373 },
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
374 "/internal/wfs",
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
375 layer.data.getSource()
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
376 )
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
377 );
858
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
378 HTTP.get("/system/style/Bottlenecks/stroke", {
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
379 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
380 })
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
381 .then(response => {
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
382 this.btlnStrokeC = response.data.code;
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
383 HTTP.get("/system/style/Bottlenecks/fill", {
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
384 headers: { "X-Gemma-Auth": localStorage.getItem("token") }
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
385 })
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
386 .then(response => {
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
387 this.btlnFillC = response.data.code;
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
388 var newstyle = new Style({
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
389 stroke: new Stroke({
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
390 color: this.btlnStrokeC,
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
391 width: 4
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
392 }),
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
393 fill: new Fill({
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
394 color: this.btlnFillC
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
395 })
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
396 });
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
397 layer.data.setStyle(newstyle);
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
398 })
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
399 .catch(error => {
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
400 console.log(error);
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
401 });
848
22f7d33eee65 Make eslint happy again.
Sascha Wilde <wilde@intevation.de>
parents: 843
diff changeset
402 })
858
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
403 .catch(error => {
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
404 console.log(error);
e5ac0fb0c1c5 map styling: Very ugly hack to read bottleneck style from server.
Sascha Wilde <wilde@intevation.de>
parents: 848
diff changeset
405 });
790
1b82ae5e637e client: add bottleneck layer with first styling
Bernhard Reiter <bernhard@intevation.de>
parents: 783
diff changeset
406
879
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
407 window.addEventListener("beforeprint", this.onBeforePrint);
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
408 window.addEventListener("afterprint", this.onAfterPrint);
52fe3e20f750 client: improve print styling
Bernhard Reiter <bernhard@intevation.de>
parents: 865
diff changeset
409
842
ee6f127f573c client: add first prototype for bottleneck iso layer
Bernhard Reiter <bernhard@intevation.de>
parents: 832
diff changeset
410 // so none is shown
938
fe923c8ef08f client: add static legend image to contour_lines
Bernhard Reiter <bernhard@intevation.de>
parents: 918
diff changeset
411 this.updateBottleneckFilter("does_not_exist", "1999-10-01");
1104
9c15e3bf8066 removed unnecessary function and reduced code a bit
Markus Kottlaender <markus@intevation.de>
parents: 1103
diff changeset
412 this.openLayersMap.on(["singleclick", "dblclick"], event => {
9c15e3bf8066 removed unnecessary function and reduced code a bit
Markus Kottlaender <markus@intevation.de>
parents: 1103
diff changeset
413 this.identify(event.coordinate, event.pixel);
9c15e3bf8066 removed unnecessary function and reduced code a bit
Markus Kottlaender <markus@intevation.de>
parents: 1103
diff changeset
414 });
585
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
415 }
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
416 };
ef307bd6b5d8 refac: restructured client application
Thomas Junk <thomas.junk@intevation.de>
parents:
diff changeset
417 </script>