[OpenLayers-Users] Nodelist Info / GetFeatureInfo not working
boxplot
tolpxob at googlemail.com
Sun May 9 09:53:55 EDT 2010
Hi Roald,
I added this tool and loaded the page again. Unfortunately the response is empty. What could be the reason for this?
Thanks, Pascal
Am 09.05.2010 um 01:05 schrieb Roald de Wit:
> 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