[OpenLayers-Users] Nodelist Info / GetFeatureInfo not working

Roald de Wit list at rdewit.net
Sat May 8 19:05:47 EDT 2010


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
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>    




More information about the Users mailing list