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

Get rid of HorizontalLayout in MapOutputTab and use manual resizing. The OpenLayers Map widget is now resized and positioned manually by a ResizeHandler method. The automatic HorizontalLayout was obviously broken in combination with the OpenLayers widget. This should fix various layout issues with the OpenLayers Map.
author Christian Lins <christian.lins@intevation.de>
date Mon, 05 Nov 2012 15:17:58 +0100
parents 6d749af6a9c2
children 099d136b215b
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
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
3 import org.gwtopenmaps.openlayers.client.Bounds;
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 1594
diff changeset
4 import org.gwtopenmaps.openlayers.client.LonLat;
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;
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
12 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
13 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
14 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
15 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
16 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
17 import org.gwtopenmaps.openlayers.client.util.Attributes;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import org.gwtopenmaps.openlayers.client.util.JObjectArray;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import org.gwtopenmaps.openlayers.client.util.JSObject;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
22 public class FloodMap implements VectorFeatureAddedListener {
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
24 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
25
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
26 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
27
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
28 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
29
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 protected MapWidget mapWidget;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 protected Map map;
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
32 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
33 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
34 protected Bounds maxExtent;
1542
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
35 protected ScaleLine scaleLine;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 3347
diff changeset
37 public FloodMap(String srid, Bounds maxExtent, String width, String height) {
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
38 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
39 this.maxExtent = maxExtent;
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 3347
diff changeset
40 recreateWidget(width, height);
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 1594
diff changeset
41 getBarrierLayer();
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 1594
diff changeset
42 }
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
43
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 1594
diff changeset
44
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 1594
diff changeset
45 public void recreateWidget(String width, String height) {
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 MapOptions opts = new MapOptions();
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 opts.setControls(new JObjectArray(new JSObject[] {}));
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 opts.setNumZoomLevels(16);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 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
50 opts.setMaxExtent(maxExtent);
881
4af1ee86b0b1 Bugfix: #289 Set map units 'm'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 833
diff changeset
51 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
52 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
53
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 1594
diff changeset
54 mapWidget = new MapWidget(width, height, opts);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 map = mapWidget.getMap();
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
59 @Override
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
60 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
61 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
62
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
63 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
64 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
65
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
66 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
67 return;
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
68 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
69
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
70 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
71 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
72 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
73 }
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
74
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
75 // 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
76 barrierLayer.redraw();
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
77 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
78
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
79
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
80 /**
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
81 * 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
82 *
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
83 * @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
84 * "ringdike".
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 * @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
87 */
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
88 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
89 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
90
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
91 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
92 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
93 }
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
94
882
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
95 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
96 || 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
97 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
98 style.setFillColor("#800080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
99 style.setStrokeColor("#800080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
100 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
101 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
102 || 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
103 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
104 style.setFillColor("#808080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
105 style.setStrokeColor("#808080");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
106 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
107 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
108 || 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
109 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
110 style.setFillColor("#008000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
111 style.setStrokeColor("#008000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
112 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
113 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
114 || 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
115 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
116 style.setFillColor("#800000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
117 style.setStrokeColor("#800000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
118 }
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
119 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
120 || 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
121 ) {
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
122 style.setFill(false);
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
123 style.setStrokeColor("#FF8000");
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
124 }
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 return style;
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
127 }
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
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 public MapWidget getMapWidget() {
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 return mapWidget;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 public Map getMap() {
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 return map;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138
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 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
141 return "EPSG:" + srid;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144
1315
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
145 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
146 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
147 }
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
148
cf0f906921de #297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 915
diff changeset
149
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
150 public Vector getBarrierLayer() {
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
151 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
152 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
153 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
154 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
155
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 806
diff changeset
156 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
157 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
158
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
159 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
160
d3b4010d2c89 I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 881
diff changeset
161 barrierLayer.addVectorFeatureAddedListener(this);
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
162 }
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
163
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
164 return barrierLayer;
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
165 }
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
166
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
167
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
168 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
169 // 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
170 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
171
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
172 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
173
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
174 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
175 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
176 }
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
177
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
178 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
179 }
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
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
182 public void setSize(String width, String height) {
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
183 mapWidget.setWidth(width);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
184 mapWidget.setHeight(height);
1386
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
185 int currentZoom = map.getZoom();
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
186 LonLat currentCenter = map.getCenter();
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
187 map.updateSize();
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
188 map.zoomTo(currentZoom);
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1317
diff changeset
189 map.setCenter(currentCenter);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
190 }
915
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
191
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
192
1448
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
193 public void addLayer(Layer layer) {
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
194 if (layer != null) {
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
195 map.addLayer(layer);
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
196
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
197 int index = map.getLayerIndex(layer);
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
198 int newIndex = index * (-1) + 1;
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
199
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
200 map.raiseLayer(layer, newIndex);
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
201
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
202 update();
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 }
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
205
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1398
diff changeset
206
915
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
207 public void hideBarrierLayer () {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
208 if (barrierLayer != null) {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
209 barrierLayer.setIsVisible(false);
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
210 }
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
211 }
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
212
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
213 public void showBarrierLayer () {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
214 if (barrierLayer != null) {
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
215 barrierLayer.setIsVisible(true);
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
216 }
89a47098bcbd Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 882
diff changeset
217 }
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
218
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
219
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
220 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
221 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
222 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
223 }
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
224 }
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 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
228 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
229 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
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 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
233 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
234
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 (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
236 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
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 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
240
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 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
242 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
243
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 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
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
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 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
248 }
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
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 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
252 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
253 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
254
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 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
256 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
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
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 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
260 }
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
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 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
264 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
265 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
266 }
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 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
271 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
272 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
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 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
276 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
277
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 (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
279 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
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 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
283
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 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
285 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
286
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 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
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
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 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
291 }
1397
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
292
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
293
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
294 public void update() {
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
295 Layer[] layers = map.getLayers();
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
296
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
297 for (Layer l: layers) {
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1396
diff changeset
298 l.redraw();
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 }
1542
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
301
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
302
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
303 public void activateScaleLine(boolean activate) {
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
304 if (activate) {
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
305 ScaleLineOptions slOpts = new ScaleLineOptions();
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
306 slOpts.setBottomInUnits("m");
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
307 slOpts.setBottomOutUnits("km");
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
308 slOpts.setTopInUnits("");
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
309 slOpts.setTopOutUnits("");
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
310
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
311 scaleLine = new ScaleLine(slOpts);
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
312 this.map.addControl(scaleLine);
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
313 }
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
314 else if (!activate && scaleLine != null){
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
315 this.map.removeControl(scaleLine);
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
316 }
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
317 }
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
318 }
799
f4299b90c996 Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
319 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org