Hi, Have you looked at the request that OL is sending to GS? The FireBug addin for Firefox has a 'Net' tab that shows you every request that your application sends, including what response it gets back. That might help you find out what's wrong.
Regards, Roald On 09/05/10 03:21, boxplot wrote: > Hi, > > I use the following example of geolayers to test GetFeatureInfo (it > works, so this can be no proxy-issue, also OpenLayers and GeoServer > run on the same server). But when I copy the (what I think) relevant > parts into my own code, it is not working anymore (after clicking on > the line the text switches from "Click on the map to get feature info" > to "Loading... please wait..." and that's it). So it would be great to > know what the minimum requirements for this method are? And if it is > possible to limit the output to some properties of the layer? > > Maybe the problem is the line > >> QUERY_LAYERS: map.layers[0].params.LAYERS, > > because I have more than one layer in my own map? > > Thanks for any help! > > Pascal > >> <?xml version="1.0" encoding="UTF-8"?> >> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" >> "DTD/xhtml1-strict.dtd"> >> <html xmlns="http://www.w3.org/1999/xhtml"> >> <head> >> <title>OpenLayers map preview</title> >> <!-- Import OL CSS, auto import does not work with our minified OL.js >> build --> >> <link rel="stylesheet" type="text/css" >> href="http://myownhomepage.xyz:80/geoserver/openlayers/theme/default/style.css"/> >> <!-- Basic CSS definitions --> >> <style type="text/css"> >> /* The map and the location bar */ >> ########### (... deleted for size reasons) ########### >> /* Styles used by the default GetFeatureInfo output, >> added to make IE happy */ >> table.featureInfo, table.featureInfo td, >> table.featureInfo th { >> border: 1px solid #ddd; >> border-collapse: collapse; >> margin: 0; >> padding: 0; >> font-size: 90%; >> padding: .2em .1em; >> } >> table.featureInfo th { >> padding: .2em .2em; >> text-transform: uppercase; >> font-weight: bold; >> background: #eee; >> } >> table.featureInfo td { >> background: #fff; >> } >> table.featureInfo tr.odd td { >> background: #eee; >> } >> table.featureInfo caption { >> text-align: left; >> font-size: 100%; >> font-weight: bold; >> text-transform: uppercase; >> padding: .2em .2em; >> } >> </style> >> >> <!-- Import OpenLayers, reduced, wms read only version --> >> <script >> src="http://myownhomepage.xyz:80/geoserver/openlayers/OpenLayers.js" >> type="text/javascript"> >> </script> >> <script type="text/javascript"> >> var map; >> var untiled; >> var tiled; >> var pureCoverage = false; >> // pink tile avoidance >> OpenLayers.IMAGE_RELOAD_ATTEMPTS = 5; >> // make OL compute scale according to WMS spec >> OpenLayers.DOTS_PER_INCH = 25.4 / 0.28; >> function init(){ >> // if this is just a coverage or a group of them, >> disable a few items, >> // and default to jpeg format >> format = 'image/png'; >> >> var bounds = new OpenLayers.Bounds( >> 12.336, 47.699, >> 12.354, 47.751 >> ); >> >> var options = { >> controls: [], >> maxExtent: bounds, >> maxResolution: 0.000203125, >> projection: "EPSG:4326", >> units: 'degrees' >> }; >> >> map = new OpenLayers.Map('map', options); >> >> // setup tiled layer >> tiled = new OpenLayers.Layer.WMS( >> "Layer - Tiled", >> "http://myownhomepage.xyz:80/geoserver/wms", >> { >> width: '177', >> srs: 'EPSG:4326', >> layers: 'Workspace:Layer', >> height: '512', >> styles: '', >> format: format, >> tiled: 'true', >> tilesOrigin : map.maxExtent.left + ',' + >> map.maxExtent.bottom >> }, >> { >> buffer: 0, >> displayOutsideMaxExtent: true >> } >> ); >> map.addLayer(tiled); >> >> // build up all controls >> map.addControl(new OpenLayers.Control.PanZoomBar({ >> position: new OpenLayers.Pixel(2, 15) >> })); >> map.addControl(new OpenLayers.Control.Navigation()); >> map.addControl(new OpenLayers.Control.Scale($('scale'))); >> map.addControl(new >> OpenLayers.Control.MousePosition({element: $('location')})); >> map.zoomToExtent(bounds); >> // wire up the option button >> var options = document.getElementById("options"); >> options.onclick = toggleControlPanel; >> // support GetFeatureInfo >> map.events.register('click', map, function (e) { >> document.getElementById('nodelist').innerHTML = >> "Loading... please wait..."; >> var params = { >> REQUEST: "GetFeatureInfo", >> EXCEPTIONS: "application/vnd.ogc.se_xml", >> BBOX: map.getExtent().toBBOX(), >> X: e.xy.x, >> Y: e.xy.y, >> INFO_FORMAT: 'text/html', >> QUERY_LAYERS: map.layers[0].params.LAYERS, >> FEATURE_COUNT: 50, >> Srs: 'EPSG:4326', >> Layers: 'Workspace:Layer', >> Styles: '', >> WIDTH: map.size.w, >> HEIGHT: map.size.h, >> format: format}; >> >> OpenLayers.loadURL("http://myownhomepage.xyz:80/geoserver/wms", >> params, this, setHTML, setHTML); >> OpenLayers.Event.stop(e); >> }); >> } >> // sets the HTML provided into the nodelist element >> function setHTML(response){ >> document.getElementById('nodelist').innerHTML = >> response.responseText; >> }; >> ########### (... deleted for size reasons) ########### >> </script> >> </head> >> <body onload="init()"> >> <div id="toolbar" style="display: none;"> >> ########### (... deleted for size reasons) ########### >> </div> >> <div id="map"> >> <img id="options" title="Toggle options toolbar" >> src="http://myownhomepage.xyz:80/geoserver/options.png"/> >> </div> >> <div id="wrapper"> >> >> <div id="location">location</div> >> <div id="scale"> >> </div> >> </div> >> <div id="nodelist"> >> <em>Click on the map to get feature info</em> >> </div> >> </body> >> >> </html> > > > _______________________________________________ > Users mailing list > [email protected] > http://openlayers.org/mailman/listinfo/users > _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
