annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/map/FloodMap.java @ 1448:c39aa5a6478c

#409 Made layer list and map layers synchron. flys-client/trunk@3465 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 19 Dec 2011 14:58:24 +0000
parents 3f6d2f18ee7b
children 3e2ef8e0a0dc
rev   line source
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.map;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
1386
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
3
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
4 import org.gwtopenmaps.openlayers.client.Bounds;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.gwtopenmaps.openlayers.client.Map;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import org.gwtopenmaps.openlayers.client.MapOptions;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import org.gwtopenmaps.openlayers.client.MapWidget;
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
8 import org.gwtopenmaps.openlayers.client.Style;
1398
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
9 import org.gwtopenmaps.openlayers.client.control.ScaleLine;
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
10 import org.gwtopenmaps.openlayers.client.control.ScaleLineOptions;
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
11 import org.gwtopenmaps.openlayers.client.event.VectorFeatureAddedListener;
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
12 import org.gwtopenmaps.openlayers.client.event.VectorFeatureAddedListener.FeatureAddedEvent;
833
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
13 import org.gwtopenmaps.openlayers.client.feature.VectorFeature;
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
14 import org.gwtopenmaps.openlayers.client.format.GeoJSON;
1397
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
15 import org.gwtopenmaps.openlayers.client.layer.Layer;
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
16 import org.gwtopenmaps.openlayers.client.layer.Vector;
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
17 import org.gwtopenmaps.openlayers.client.layer.VectorOptions;
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
18 import org.gwtopenmaps.openlayers.client.util.Attributes;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import org.gwtopenmaps.openlayers.client.util.JObjectArray;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import org.gwtopenmaps.openlayers.client.util.JSObject;
1386
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
21 import org.gwtopenmaps.openlayers.client.LonLat;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
24 public class FloodMap implements VectorFeatureAddedListener {
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
26 public static final String LAYER_BARRIERS = "vector_layer_barriers";
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
27
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
28 public static final String MARK_SELECTED = "mark.selected";
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
29
1317
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
30 public static final int SELECTED_STROKE_WIDTH = 2;
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
31
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 protected MapWidget mapWidget;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 protected Map map;
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
34 protected Vector barrierLayer;
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
35 protected String srid;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
36 protected Bounds maxExtent;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
39 public FloodMap(String srid, Bounds maxExtent) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
40 this.srid = srid;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
41 this.maxExtent = maxExtent;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
42
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 MapOptions opts = new MapOptions();
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 opts.setControls(new JObjectArray(new JSObject[] {}));
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 opts.setNumZoomLevels(16);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 opts.setProjection(getRiverProjection());
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
47 opts.setMaxExtent(maxExtent);
881
4af1ee86b0b1 Bugfix: #289 Set map units 'm'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 833
diff changeset
48 opts.setUnits("m");
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
49 opts.setMaxResolution(500); // TODO DO THIS ON THE FLY
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 mapWidget = new MapWidget("510px", "635px", opts);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 map = mapWidget.getMap();
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
53
1398
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
54 ScaleLineOptions slOpts = new ScaleLineOptions();
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
55 slOpts.setBottomInUnits("m");
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
56 slOpts.setBottomOutUnits("km");
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
57 slOpts.setTopInUnits("");
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
58 slOpts.setTopOutUnits("");
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
59
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
60 map.addControl(new ScaleLine(slOpts));
3f6d2f18ee7b Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
61
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
62 getBarrierLayer();
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
66 @Override
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
67 public void onFeatureAdded(FeatureAddedEvent evt) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
68 VectorFeature feature = evt.getVectorFeature();
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
69
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
70 Attributes attrs = feature.getAttributes();
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
71 String type = attrs.getAttributeAsString("typ");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
72
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
73 if (type == null || type.length() == 0) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
74 return;
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
75 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
76
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
77 Style style = getStyle(type);
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
78 if (style != null) {
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
79 feature.setStyle(style);
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
80 }
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
81
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
82 // necessary, otherwise the setStyle() has no effect
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
83 barrierLayer.redraw();
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
84 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
85
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
86
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
87 /**
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
88 * Returns an OpenLayers.Style based on a given type.
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
89 *
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
90 * @param type Type can be one of "pipe1", "pipe2", "ditch", "dam",
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
91 * "ringdike".
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
92 *
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
93 * @return an OpenLayers.Style object.
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
94 */
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
95 public static Style getStyle(String type) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
96 Style style = new Style();
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
97
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
98 if (type == null) {
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
99 return null;
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
100 }
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
101
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
102 if (type.equals(DrawControl.BARRIER_PIPE1)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
103 || type.equals(DrawControl.BARRIER_PIPE1_VALUE)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
104 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
105 style.setFillColor("#800080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
106 style.setStrokeColor("#800080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
107 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
108 else if (type.equals(DrawControl.BARRIER_PIPE2)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
109 || type.equals(DrawControl.BARRIER_PIPE2_VALUE)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
110 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
111 style.setFillColor("#808080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
112 style.setStrokeColor("#808080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
113 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
114 else if (type.equals(DrawControl.BARRIER_DAM)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
115 || type.equals(DrawControl.BARRIER_DAM_VALUE)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
116 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
117 style.setFillColor("#008000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
118 style.setStrokeColor("#008000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
119 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
120 else if (type.equals(DrawControl.BARRIER_DITCH)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
121 || type.equals(DrawControl.BARRIER_DITCH_VALUE)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
122 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
123 style.setFillColor("#800000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
124 style.setStrokeColor("#800000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
125 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
126 else if (type.equals(DrawControl.BARRIER_RINGDIKE)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
127 || type.equals(DrawControl.BARRIER_RINGDIKE_VALUE)
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
128 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
129 style.setFill(false);
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
130 style.setStrokeColor("#FF8000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
131 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
132
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
133 return style;
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
134 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
135
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
136
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 public MapWidget getMapWidget() {
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 return mapWidget;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 public Map getMap() {
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 return map;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 public String getRiverProjection() {
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
148 return "EPSG:" + srid;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
152 public Bounds getMaxExtent() {
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
153 return maxExtent;
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
154 }
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
155
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
156
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
157 public Vector getBarrierLayer() {
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
158 if (barrierLayer == null) {
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
159 VectorOptions opts = new VectorOptions();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
160 opts.setProjection(getRiverProjection());
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
161 opts.setMaxExtent(getMaxExtent());
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
162
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
163 barrierLayer = new Vector(LAYER_BARRIERS, opts);
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
164 barrierLayer.setIsBaseLayer(true);
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
165
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
166 map.addLayer(barrierLayer);
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
167
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
168 barrierLayer.addVectorFeatureAddedListener(this);
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
169 }
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
170
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
171 return barrierLayer;
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
172 }
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
173
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
174
833
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
175 public String getFeaturesAsGeoJSON() {
1317
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
176 // disable features before exporting to GeoJSON
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
177 disableFeatures();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
178
833
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
179 VectorFeature[] features = barrierLayer.getFeatures();
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
180
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
181 if (features == null || features.length == 0) {
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
182 return null;
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
183 }
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
184
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
185 return new GeoJSON().write(features);
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
186 }
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
187
dcecdd9693a8 Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
188
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
189 public void setSize(String width, String height) {
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
190 mapWidget.setWidth(width);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
191 mapWidget.setHeight(height);
1386
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
192 int currentZoom = map.getZoom();
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
193 LonLat currentCenter = map.getCenter();
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
194 map.updateSize();
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
195 map.zoomTo(currentZoom);
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
196 map.setCenter(currentCenter);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
197 }
915
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
198
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
199
1448
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
200 public void addLayer(Layer layer) {
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
201 if (layer != null) {
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
202 map.addLayer(layer);
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
203
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
204 int index = map.getLayerIndex(layer);
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
205 int newIndex = index * (-1) + 1;
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
206
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
207 map.raiseLayer(layer, newIndex);
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
208
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
209 update();
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
210 }
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
211 }
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
212
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
213
915
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
214 public void hideBarrierLayer () {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
215 if (barrierLayer != null) {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
216 barrierLayer.setIsVisible(false);
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
217 }
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
218 }
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
219
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
220 public void showBarrierLayer () {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
221 if (barrierLayer != null) {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
222 barrierLayer.setIsVisible(true);
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
223 }
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
224 }
1317
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
225
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
226
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
227 public void selectFeature(VectorFeature feature) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
228 if (feature != null) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
229 selectFeatures(new VectorFeature[] { feature } );
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
230 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
231 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
232
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
233
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
234 public void selectFeatures(VectorFeature[] features) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
235 if (features == null || features.length == 0) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
236 return;
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
237 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
238
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
239 for (VectorFeature feature: features) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
240 Attributes attr = feature.getAttributes();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
241
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
242 if (attr.getAttributeAsInt(MARK_SELECTED) == 1) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
243 continue;
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
244 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
245
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
246 attr.setAttribute(MARK_SELECTED, 1);
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
247
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
248 Style style = feature.getStyle();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
249 double strokeWidth = style.getStrokeWidth();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
250
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
251 style.setStrokeWidth(strokeWidth+SELECTED_STROKE_WIDTH);
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
252 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
253
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
254 getBarrierLayer().redraw();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
255 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
256
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
257
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
258 public void disableFeatures() {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
259 Vector barriers = getBarrierLayer();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
260 VectorFeature[] features = barriers.getFeatures();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
261
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
262 if (features == null || features.length == 0) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
263 return;
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
264 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
265
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
266 disableFeatures(features);
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
267 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
268
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
269
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
270 public void disableFeature(VectorFeature feature) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
271 if (feature != null) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
272 disableFeatures(new VectorFeature[] { feature });
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
273 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
274 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
275
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
276
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
277 public void disableFeatures(VectorFeature[] features) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
278 if (features == null || features.length == 0) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
279 return;
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
280 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
281
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
282 for (VectorFeature feature: features) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
283 Attributes attr = feature.getAttributes();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
284
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
285 if (attr.getAttributeAsInt(MARK_SELECTED) == 0) {
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
286 continue;
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
287 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
288
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
289 attr.setAttribute(FloodMap.MARK_SELECTED, 0);
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
290
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
291 Style style = feature.getStyle();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
292 double strokeWidth = style.getStrokeWidth();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
293
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
294 style.setStrokeWidth(strokeWidth-SELECTED_STROKE_WIDTH);
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
295 }
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
296
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
297 getBarrierLayer().redraw();
45b9b1fc26e2 Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1315
diff changeset
298 }
1397
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
299
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
300
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
301 public void update() {
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
302 Layer[] layers = map.getLayers();
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
303
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
304 for (Layer l: layers) {
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
305 l.redraw();
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
306 }
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
307 }
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
308 }
799
f4299b90c996 Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
309 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org