annotate gnv/src/main/webapp/scripts/viewport.jsp @ 979:96db238fc5ab

Fixed bug that the 'Add Layer'-Button was not correctly displayed if a new WMS-Capabilities-Document was loaded. gnv/trunk@1155 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Fri, 04 Jun 2010 08:32:29 +0000
parents 5779220ebb80
children 80a5cde45d12
rev   line source
971
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 OpenLayers.ProxyHost= "/cgi-bin/proxy.cgi?url=";
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2 Ext.BLANK_IMAGE_URL = "scripts/openlayers/OpenLayers-2.9/theme/default/img/blank.gif";
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
3
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
4 /**
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
5 * XXX
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
6 * Change specific attributes for map, wfs-t, etc here. Do not change these
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 * settings inline the code!
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
8 */
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
9 PROJECTION = "EPSG:4326";
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10 PROJECTIONS = [PROJECTION, 'EPSG:4326'] // Projection used in projection selector
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
11 MAX_EXTENT = new OpenLayers.Bounds(-17.44,29.41,40.04,77.66);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
12 INITIAL_CENTER = new OpenLayers.LonLat(5, 55);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
13
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
14 Ext.onReady(function() {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
15
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
16 /* this function call initialized the layers that are defined by the user.
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
17 * The variable 'layer' and 'layers' are initialized in this function as
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18 * well, that are used in the following code! So do not remove this function
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
19 * call.
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
20 */
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
21 initLayers();
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
22
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
23 var options = {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
24 maxExtent: MAX_EXTENT,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
25 projection: PROJECTION,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
26 zoom: 5,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
27 controls: [],
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28 units: 'm'
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
29 };
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
30
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
31
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
32 /* ------------------------ Create map and add controls ---------------------*/
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
33 // create map
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
34 map = new OpenLayers.Map(options);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
35 map.displayProjection = new OpenLayers.Projection(PROJECTION);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
36
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
37 // add controls
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
38
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
40 var nav = new OpenLayers.Control.NavigationHistory();
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
41 map.addControl(nav);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
42
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
43 panel = new OpenLayers.Control.Panel();
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
44 controls = {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
45 previous: nav.previous,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
46 next : nav.next,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
47 navigate: new OpenLayers.Control.MouseDefaults(
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
48 {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
49 displayClass: 'olControlPan',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
50 title:'Verschieben der Karte'
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
51 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 ),
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 zoombox: new OpenLayers.Control.ZoomBox(
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55 displayClass: 'olControlZoomBox',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
56 title: 'Zum Zoomen ziehen Sie eine Box auf, indem Sie klicken und ziehen'
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
57 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
58 ),
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
59 info : new OpenLayers.Control.WMSGetFeatureInfo({
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
60 displayClass: "olControlFeatureInfo",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
61 url: 'http://fluggs.wupperverband.de/wmsconnector/com.esri.wms.Esrimap/WV_WMS',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
62 title: 'Identify features by clicking',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
63 queryVisible: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
64 eventListeners: {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
65 getfeatureinfo: function(event) {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
66 mapPanel.map.addPopup(new OpenLayers.Popup.FramedCloud(
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
67 "chicken",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
68 mapPanel.map.getLonLatFromPixel(event.xy),
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
69 null,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
70 event.text,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
71 null,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
72 true
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
73 ));
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
74 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
75 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
76 })
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
77 };
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
78
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
79 for (var key in controls) {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
80 panel.addControls([controls[key]]);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
81 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
82
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
83 map.addControl(panel);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
84 map.addControl(new OpenLayers.Control.PanZoomBar({zoomWorldIcon: 'true'}));
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
85 map.addControl(new OpenLayers.Control.MouseDefaults());
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
86 map.addControl(new OpenLayers.Control.ScaleLine());
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
87 // Displaying the mouse postion
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
88 mousePosition = new OpenLayers.Control.MousePosition();
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
89 map.addControl(mousePosition);
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
90
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
91 /* --------------------------------------------------------------------------- */
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
92
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
93 // create MapPanel
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
94 mapPanel = new GeoExt.MapPanel({
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
95 border: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
96 region: "center",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
97 map: map,
973
1bb54da8c8ed Added more resources which are required to use the ol-client properly
Tim Englich <tim.englich@intevation.de>
parents: 971
diff changeset
98 layers: layers
1bb54da8c8ed Added more resources which are required to use the ol-client properly
Tim Englich <tim.englich@intevation.de>
parents: 971
diff changeset
99
971
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
100 });
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
101
975
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
102 map.setCenter(INITIAL_CENTER);
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
103
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
104 store = new GeoExt.data.WMSCapabilitiesStore({
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
105 });
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
106 store.load();
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
107
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
108 grid = new Ext.grid.GridPanel({
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
109 id: 'wmsgrid',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
110 collapsible: false,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
111 split: false,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
112 border: true,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
113 //height: 400,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
114 autoHeight: true,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
115 store: store,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
116 cm: new Ext.grid.ColumnModel([
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
117 {
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
118 header: 'Name',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
119 dataIndex: 'name',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
120 sortable: true
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
121 },
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
122 {
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
123 id: 'title',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
124 header: 'Title',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
125 dataIndex: 'title',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
126 sortable: true
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
127 }]),
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
128 renderTo: 'capgrid',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
129 bbar: [{
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
130 text: 'Add Layer',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
131 handler: addLayer
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
132 }]
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
133 });
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
134 var cap = new Ext.Panel({
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
135 id: 'wmspanel',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
136 border: true,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
137 region: 'east',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
138 title: 'WMS Capabilities',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
139 collapsible: false,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
140 split: false,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
141 contentEl: 'cap',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
142 height: 400
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
143 });
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
144
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
145 var capfield = new Ext.form.TextField({
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
146 id: 'capfield',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
147 region: 'east',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
148 width: '100%',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
149 renderTo: 'urlinput'
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
150 });
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
151
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
152 var capbutton = new Ext.Button({
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
153 id: 'capbutton',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
154 region: 'west',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
155 handler: updateCapabilities,
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
156 text: 'Lade',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
157 tooltip: 'Lade GetCapabilities Dokument',
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
158 renderTo: 'urlbutton'
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
159 });
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
160
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
161
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
162
971
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
163
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
164 /* --------------------------- Layer Tree ----------------------------------- */
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
165
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
166
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
167 // LayerTree
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
168 var tree = new Ext.tree.TreePanel({
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
169 border: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
170 enableDD: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
171 region: "east",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
172 title: "LayerTree",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
173 width: 200,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
174 split: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
175 collapsible: false,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
176 collapseMode: "mini",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
177 autoScroll: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
178 loader: new Ext.tree.TreeLoader({
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
179 applyLoader: false,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
180 }),
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
181 root: {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
182 nodeType: "async",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
183 children: [{
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
184 nodeType: "gx_baselayercontainer",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
185 expanded: true
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
186 }, {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
187 nodeType: "gx_overlaylayercontainer",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
188 expanded: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
189 loader: {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
190 filter: function(record) {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
191 var layer = record.get("layer");
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
192 return layer.displayInLayerSwitcher === true &&
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
193 layer.isBaseLayer === false;
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
194 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
195 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
196 }]
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
197 },
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
198 rootVisible: false,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
199 lines: false
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
200 });
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
201
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
202 /*-------------------------------- Feature grid -------------------------------*/
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
203
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
204 // create legend panel
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
205 legendPanel = new GeoExt.LegendPanel({
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
206 id: 'legendpanel',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
207 dynamic: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
208 border: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
209 title: 'Legende',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
210 collapsible: false,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
211 split: false,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
212 defaults: {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
213 labelCls: 'legend',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
214 style: 'padding: 5px'
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
215 },
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
216 bodyStyle: 'padding:5px',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
217 width: 250,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
218 autoScroll: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
219 region: 'east'
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
220 //layerStore: mapPanel.layers
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
221 });
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
222
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
223
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
224 // use separate panels
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
225 // Create GUI
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
226
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
227 var mylegend = new Ext.Panel(
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
228 {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
229 region: "west",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
230 title: '',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
231 split: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
232 width: 250,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
233 minSize: 225,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
234 maxSize: 400,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
235 collapsible: false,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
236 overflow: 'auto',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
237 margins: '0 0 0 5',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
238 layout: 'accordion',
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
239 layoutConfig: {
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
240 animate: true,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
241 activeOnTop: false
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
242 },
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
243 items: [
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
244 tree,
975
5779220ebb80 Added functionality to read WMS-Capabilities-Documents
Tim Englich <tim.englich@intevation.de>
parents: 973
diff changeset
245 cap,
971
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
246 legendPanel
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
247 ]
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
248 }
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
249 );
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
250
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
251 // The main panel
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
252 new Ext.Panel({
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
253 renderTo: "mapcontainer",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
254 layout: "border",
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
255 width: 700,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
256 height: 420,
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
257 items: [mapPanel, mylegend]
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
258 });
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
259
a0e6566cd111 Integrated Openlayers using ext and geoext into the GNV-WebClient
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
260 });

http://dive4elements.wald.intevation.org