Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/map/FloodMap.java @ 1552:69b38f890bb6
Added translations for manual points related words.
flys-client/trunk@3790 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 27 Jan 2012 12:01:14 +0000 |
parents | e2f74131ffc1 |
children | ddf43791244c |
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 |
1542
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
4 |
1386
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1317
diff
changeset
|
5 |
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
|
6 import org.gwtopenmaps.openlayers.client.Bounds; |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import org.gwtopenmaps.openlayers.client.Map; |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 import org.gwtopenmaps.openlayers.client.MapOptions; |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 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
|
10 import org.gwtopenmaps.openlayers.client.Style; |
1398
3f6d2f18ee7b
Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1397
diff
changeset
|
11 import org.gwtopenmaps.openlayers.client.control.ScaleLine; |
3f6d2f18ee7b
Added a ScaleLine to the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1397
diff
changeset
|
12 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
|
13 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
|
14 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
|
15 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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 import org.gwtopenmaps.openlayers.client.util.Attributes; |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import org.gwtopenmaps.openlayers.client.util.JObjectArray; |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import org.gwtopenmaps.openlayers.client.util.JSObject; |
1386
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1317
diff
changeset
|
23 import org.gwtopenmaps.openlayers.client.LonLat; |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
882
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
26 public class FloodMap implements VectorFeatureAddedListener { |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
28 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
|
29 |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
915
diff
changeset
|
30 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
|
31 |
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
|
32 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
|
33 |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 protected MapWidget mapWidget; |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 protected Map map; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
36 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
|
37 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
|
38 protected Bounds maxExtent; |
1542
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
39 protected ScaleLine scaleLine; |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 |
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
|
41 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
|
42 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
|
43 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
|
44 |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 MapOptions opts = new MapOptions(); |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 opts.setControls(new JObjectArray(new JSObject[] {})); |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 opts.setNumZoomLevels(16); |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 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
|
49 opts.setMaxExtent(maxExtent); |
881
4af1ee86b0b1
Bugfix: #289 Set map units 'm'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
50 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
|
51 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
|
52 |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 mapWidget = new MapWidget("510px", "635px", opts); |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 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
|
55 |
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
|
56 getBarrierLayer(); |
797
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 |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 |
882
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
60 @Override |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
61 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
|
62 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
|
63 |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
64 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
|
65 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
|
66 |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
67 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
|
68 return; |
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 |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
915
diff
changeset
|
71 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
|
72 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
|
73 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
|
74 } |
882
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 // 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
|
77 barrierLayer.redraw(); |
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 /** |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
82 * 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
|
83 * |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
84 * @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
|
85 * "ringdike". |
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 * @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
|
88 */ |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
89 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
|
90 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
|
91 |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
915
diff
changeset
|
92 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
|
93 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
|
94 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
915
diff
changeset
|
95 |
882
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
96 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
|
97 || 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
|
98 ) { |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
99 style.setFillColor("#800080"); |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
100 style.setStrokeColor("#800080"); |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
101 } |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
102 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
|
103 || 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
|
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("#808080"); |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
106 style.setStrokeColor("#808080"); |
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_DAM) |
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_DAM_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("#008000"); |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
112 style.setStrokeColor("#008000"); |
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_DITCH) |
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_DITCH_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("#800000"); |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
118 style.setStrokeColor("#800000"); |
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_RINGDIKE) |
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_RINGDIKE_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.setFill(false); |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
124 style.setStrokeColor("#FF8000"); |
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 |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
127 return style; |
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 |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
130 |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 public MapWidget getMapWidget() { |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 return mapWidget; |
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 |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 public Map getMap() { |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
137 return map; |
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 |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 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
|
142 return "EPSG:" + srid; |
797
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 |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
915
diff
changeset
|
146 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
|
147 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
|
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 |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
915
diff
changeset
|
150 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
151 public Vector getBarrierLayer() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
152 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
|
153 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
|
154 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
|
155 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
|
156 |
407de0f4b66a
Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
806
diff
changeset
|
157 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
|
158 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
|
159 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
160 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
|
161 |
d3b4010d2c89
I293: Set the style of digitized features in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
881
diff
changeset
|
162 barrierLayer.addVectorFeatureAddedListener(this); |
800
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 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
165 return barrierLayer; |
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 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
168 |
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
|
169 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
|
170 // 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
|
171 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
|
172 |
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
|
173 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
|
174 |
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 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
|
176 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
|
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 |
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 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
|
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 |
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 |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 public void setSize(String width, String height) { |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
184 mapWidget.setWidth(width); |
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
185 mapWidget.setHeight(height); |
1386
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1317
diff
changeset
|
186 int currentZoom = map.getZoom(); |
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1317
diff
changeset
|
187 LonLat currentCenter = map.getCenter(); |
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1317
diff
changeset
|
188 map.updateSize(); |
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1317
diff
changeset
|
189 map.zoomTo(currentZoom); |
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1317
diff
changeset
|
190 map.setCenter(currentCenter); |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
191 } |
915
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
882
diff
changeset
|
192 |
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
882
diff
changeset
|
193 |
1448
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
194 public void addLayer(Layer layer) { |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
195 if (layer != null) { |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
196 map.addLayer(layer); |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
197 |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
198 int index = map.getLayerIndex(layer); |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
199 int newIndex = index * (-1) + 1; |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
200 |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
201 map.raiseLayer(layer, newIndex); |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
202 |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
203 update(); |
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 |
c39aa5a6478c
#409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1398
diff
changeset
|
207 |
915
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
882
diff
changeset
|
208 public void hideBarrierLayer () { |
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
882
diff
changeset
|
209 if (barrierLayer != null) { |
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
882
diff
changeset
|
210 barrierLayer.setIsVisible(false); |
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 |
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
882
diff
changeset
|
214 public void showBarrierLayer () { |
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(true); |
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 } |
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
|
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 |
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 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
|
222 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
|
223 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
|
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 |
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 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
|
229 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
|
230 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
|
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 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
|
234 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
|
235 |
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 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
|
237 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
|
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 |
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 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
|
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 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
|
243 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
|
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 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
|
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 |
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 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
|
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 |
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 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
|
253 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
|
254 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
|
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 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
|
257 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
|
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 |
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 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
|
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 |
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 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
|
265 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
|
266 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
|
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 |
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 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
|
272 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
|
273 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
|
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 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
|
277 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
|
278 |
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 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
|
280 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
|
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 |
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 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
|
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 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
|
286 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
|
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 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
|
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 |
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 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
|
292 } |
1397
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 |
b3264b5770b3
Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1396
diff
changeset
|
295 public void update() { |
b3264b5770b3
Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1396
diff
changeset
|
296 Layer[] layers = map.getLayers(); |
b3264b5770b3
Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1396
diff
changeset
|
297 |
b3264b5770b3
Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1396
diff
changeset
|
298 for (Layer l: layers) { |
b3264b5770b3
Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1396
diff
changeset
|
299 l.redraw(); |
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 } |
1542
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 |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
304 public void activateScaleLine(boolean activate) { |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
305 if (activate) { |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
306 ScaleLineOptions slOpts = new ScaleLineOptions(); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
307 slOpts.setBottomInUnits("m"); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
308 slOpts.setBottomOutUnits("km"); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
309 slOpts.setTopInUnits(""); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
310 slOpts.setTopOutUnits(""); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
311 |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
312 scaleLine = new ScaleLine(slOpts); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
313 this.map.addControl(scaleLine); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
314 } |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
315 else if (!activate && scaleLine != null){ |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
316 this.map.removeControl(scaleLine); |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
317 } |
3e2ef8e0a0dc
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1448
diff
changeset
|
318 } |
797
cc3f481e9484
Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
319 } |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
797
diff
changeset
|
320 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |