annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapOutputTab.java @ 823:407de0f4b66a

Set the map projection and its max extent dynamically - information extracted from facets. flys-client/trunk@2515 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 19 Aug 2011 15:57:23 +0000
parents 112f95d7b286
children 1b9b7e9ab219
rev   line source
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.map;
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
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: 815
diff changeset
3 import com.google.gwt.core.client.GWT;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
4 import com.google.gwt.user.client.ui.HorizontalPanel;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
5 import com.google.gwt.user.client.ui.Widget;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
6
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import com.smartgwt.client.widgets.Canvas;
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
8 import com.smartgwt.client.widgets.events.ResizedEvent;
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
9 import com.smartgwt.client.widgets.events.ResizedHandler;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.widgets.layout.HLayout;
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
11 import com.smartgwt.client.widgets.layout.VLayout;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
13 import org.gwtopenmaps.openlayers.client.Bounds;
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
14 import org.gwtopenmaps.openlayers.client.Map;
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
15 import org.gwtopenmaps.openlayers.client.layer.Layer;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
16 import org.gwtopenmaps.openlayers.client.layer.WMS;
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
17 import org.gwtopenmaps.openlayers.client.layer.WMSParams;
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
18 import org.gwtopenmaps.openlayers.client.layer.WMSOptions;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
19
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
20 import de.intevation.flys.client.shared.model.AttributedTheme;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import de.intevation.flys.client.shared.model.Collection;
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
22 import de.intevation.flys.client.shared.model.Theme;
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
23 import de.intevation.flys.client.shared.model.ThemeList;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 import de.intevation.flys.client.shared.model.OutputMode;
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 import de.intevation.flys.client.client.ui.CollectionView;
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 import de.intevation.flys.client.client.ui.OutputTab;
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
28 import de.intevation.flys.client.client.ui.ThemePanel;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 public class MapOutputTab extends OutputTab {
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
33 public static final String DEFAULT_SRID = "4326";
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
34
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
35
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 protected CollectionView parent;
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
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
38 protected Canvas controlPanel;
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
39 protected ThemePanel themePanel;
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
40 protected Widget mapPanel;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
41
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
42 protected FloodMap floodMap;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 public MapOutputTab(
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 String title,
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 Collection collection,
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 OutputMode mode,
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 CollectionView collectionView
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 ){
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 super(title, collection, mode);
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 this.parent = collectionView;
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
54 floodMap = new FloodMap(getSrid(), getMaxExtent());
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
55
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 initLayout();
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
57 initLayers();
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 }
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 protected void initLayout() {
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
62 VLayout rootLayout = new VLayout();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
63 rootLayout.setHeight100();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
64 rootLayout.setWidth100();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
65 rootLayout.setMembersMargin(2);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
66
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
67 final Canvas wrapper = new Canvas();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
68 wrapper.setWidth100();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
69 wrapper.setHeight100();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
70
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
71 controlPanel = createControlPanel(wrapper);
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
72 mapPanel = floodMap.getMapWidget();
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
73 Canvas themePanelWrapper = createThemePanel();
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
74
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
75 final HorizontalPanel layout = new HorizontalPanel();
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
76 layout.setWidth("99%");
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
77 layout.setHeight("99%");
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
78 layout.add(mapPanel);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
79
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
80 wrapper.addChild(layout);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
81
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
82 HLayout hlayout = new HLayout();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
83 hlayout.setHeight("*");
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
84 hlayout.setWidth100();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
85 hlayout.setMembersMargin(2);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
86
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
87 hlayout.addMember(themePanelWrapper);
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
88 hlayout.addMember(wrapper);
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
89
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
90 rootLayout.addMember(controlPanel);
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
91 rootLayout.addMember(hlayout);
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
92
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
93 wrapper.addResizedHandler(new ResizedHandler() {
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
94 public void onResized(ResizedEvent e) {
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
95 Integer height = wrapper.getHeight();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
96 Integer width = wrapper.getWidth();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
97
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
98 height = height * 99 / 100;
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
99 width = width * 99 / 100;
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
100
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
101 String w = String.valueOf(width) + "px";
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
102 String h = String.valueOf(height) + "px";
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
103
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
104 floodMap.setSize(w, h);
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
105 }
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
106 });
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
107
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
108 setPane(rootLayout);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
109 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
110
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
111
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
112 protected void initLayers() {
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
113 ThemeList themeList = themePanel.getThemeList();
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
114
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
115 int num = themeList.getThemeCount();
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
116
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
117 Map map = floodMap.getMap();
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
118 Bounds extent = null;
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
119
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
120 for (int i = 1; i <= num; i++) {
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
121 Theme theme = themeList.getThemeAt(i);
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
122 Layer layer = createWMSLayer(theme);
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
123
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
124 if (layer == null) {
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
125 continue;
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
126 }
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
127
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
128 map.addLayer(layer);
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
129
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
130 AttributedTheme at = (AttributedTheme) theme;
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
131 String tmp = at.getAttr("extent");
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
132
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
133 if (theme.getActive() == 1) {
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
134 if (extent == null) {
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
135 extent = boundsFromString(tmp);
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
136 }
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
137 else {
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
138 Bounds b = boundsFromString(tmp);
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
139
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
140 if (b != null) {
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
141 extent.extend(b);
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
142 }
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
143 }
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
144 }
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
145 }
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
146
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
147 GWT.log("Maps initial extent = " + extent);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
148
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
149 map.zoomToExtent(extent != null
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
150 ? extent
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
151 : new Bounds(-90, -180, 90, 180));
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
152 }
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
153
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
154
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
155 public ThemeList getThemeList() {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
156 return collection.getThemeList(mode.getName());
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
157 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
158
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
159
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
160 public String getSrid() {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
161 ThemeList themeList = getThemeList();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
162
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
163 int num = themeList.getThemeCount();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
164
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
165 for (int i = 1; i <= num; i++) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
166 AttributedTheme theme = (AttributedTheme) themeList.getThemeAt(i);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
167 String srid = theme.getAttr("srid");
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
168
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
169 if (srid != null && srid.length() > 0) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
170 return srid;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
171 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
172 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
173
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
174 return DEFAULT_SRID;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
175 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
176
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
177
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
178 public Bounds getMaxExtent() {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
179 ThemeList themeList = getThemeList();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
180
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
181 int num = themeList.getThemeCount();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
182
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
183 Bounds extent = null;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
184
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
185 for (int i = 1; i <= num; i++) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
186 AttributedTheme theme = (AttributedTheme) themeList.getThemeAt(i);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
187 String tmp = theme.getAttr("extent");
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
188
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
189 if (theme.getActive() == 1) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
190 if (extent == null) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
191 extent = boundsFromString(tmp);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
192 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
193 else {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
194 Bounds b = boundsFromString(tmp);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
195
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
196 if (b != null) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
197 extent.extend(b);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
198 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
199 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
200 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
201 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
202
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
203 return extent;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
204 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
205
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
206
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
207 protected Bounds boundsFromString(String bounds) {
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
208 if (bounds == null || bounds.length() == 0) {
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
209 return null;
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
210 }
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
211
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
212 String[] values = bounds.split(" ");
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
213
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
214 if (values == null || values.length < 4) {
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
215 return null;
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
216 }
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
217
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
218 try {
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
219 return new Bounds(
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
220 Double.valueOf(values[0]),
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
221 Double.valueOf(values[1]),
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
222 Double.valueOf(values[2]),
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
223 Double.valueOf(values[3]));
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
224 }
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
225 catch (NumberFormatException nfe) {}
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
226
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
227 return null;
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
228 }
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
229
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
230
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
231 protected Layer createWMSLayer(Theme theme) {
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
232 if (theme == null) {
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
233 return null;
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
234 }
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
235
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
236 AttributedTheme at = (AttributedTheme) theme;
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
237
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
238 String type = at.getAttr("name");
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
239 String desc = at.getAttr("description");
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
240 String url = at.getAttr("url");
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
241 String layers = at.getAttr("layers");
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
242
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
243 if (url == null || layers == null) {
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
244 return null;
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
245 }
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
246
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
247 //boolean baseLayer = type.equals("floodmap.wmsbackground");
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
248
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
249 WMSParams params = new WMSParams();
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
250 params.setLayers(layers);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
251 params.setFormat("image/png");
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
252 params.setIsTransparent(true);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
253
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
254 WMSOptions opts = new WMSOptions();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
255 opts.setProjection("EPSG:" + getSrid());
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
256 opts.setSingleTile(true);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
257 opts.setRatio(1);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
258
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
259 WMS wms = new WMS(desc, url, params, 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
260 wms.setIsVisible(at.getActive() == 1);
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
261 wms.setIsBaseLayer(false);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
262
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
263 return wms;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
264 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
265
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
266
800
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
267 protected Canvas createControlPanel(Canvas wrapper) {
95cc560ce7c4 Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 799
diff changeset
268 return new MapToolbar(floodMap, wrapper);
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
269 }
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
270
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
271
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
272 protected Canvas createThemePanel() {
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
273 Canvas c = new Canvas();
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
274 c.setWidth(200);
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
275 c.setHeight100();
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
276 c.setBorder("1px solid black");
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
277
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
278 themePanel = new MapThemePanel(
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
279 collection, mode, new MapThemePanel.ActivateCallback() {
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
280 public void activate(Theme theme, boolean active) {
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
281 activateTheme(theme, active);
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
282 }
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
283 });
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
284 c.addChild(themePanel);
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
285
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
286 return c;
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
287 }
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
288
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
289
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
290 protected void activateTheme(Theme theme, boolean active) {
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
291 String name = theme.getDescription();
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
292 Layer layer = floodMap.getMap().getLayerByName(name);
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
293
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
294 if (layer != null) {
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
295 layer.setIsVisible(active);
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
296 }
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
297 }
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
298 }
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
299 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org