[OpenLayers-Users] Nodelist Info not working

Edel Banks osgisfyp at gmail.com
Sun Mar 9 14:56:51 EDT 2008


Just to clarify the "Or I have to do something other then create the
directory, put the files in it and go?" the statements I made earlier.

I used the geoserver gui to create a namespace, datastore and feature
types.  All the created feature maps were available in MapPreview and all
worked fine.  It just seems that when I call the layers from elsewhere then
the get feature info function stops working.

I think I'm missing a configuration step or something.

Heres the html code Im using:

geoserver/data_dir/my_project_dir/myfile.html


<?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>Pedestrian Route Finder</title>
        <style type="text/css">
            #map {
                width: 500px;
                height: 338px;
                border: 1px solid black;
            }
            #wrapper {
                width: 500px;
            }
            #location {
                float: right;
            }
        </style>
        <script src="
http://localhost:8080/geoserver/openlayers/OpenLayers.js"
type="text/javascript">
        </script>
        <script defer="defer" type="text/javascript">

        var map;
        var roads;
        var busLines;
        var luasLines;
        var luasStops;


        function setHTML(response) {
            document.getElementById('nodelist').innerHTML =
response.responseText;
        };

        OpenLayers.IMAGE_RELOAD_ATTEMPTS = 5;
        OpenLayers.DOTS_PER_INCH = 25.4 / 0.28;

        function init(){


            var bounds = new OpenLayers.Bounds(

                305097.5401555448, 226935.368699667,        // left, bottom
                318253.033844963, 237653.04983245343        // right, top

            );


            var options = {
                controls: [],
                maxExtent: bounds,
                maxResolution: 39.6698972242898,
                projection: "EPSG:29900",
                units: 'm'
            };


            map = new OpenLayers.Map('map', options);




            // setup single layer
            roads = new OpenLayers.Layer.WMS(
                "pedestrianRouteFinder:required_roads - Untiled", "
http://localhost:8080/geoserver/wms",
                {
                    height: '652',
                    width: '800',
                    layers: 'pedestrianRouteFinder:required_roads',
                    styles: 'required_roads_style',
                    srs: 'EPSG:29900',
                    format: 'image/png'
                },
                {isBaseLayer:true},
                {singleTile: true}
            );


            // setup single untiled layer
            busLines = new OpenLayers.Layer.WMS(
                "pedestrianRouteFinder:bus_lines - Untiled", "
http://localhost:8080/geoserver/wms",
                {
                    height: '652',
                    width: '800',
                    layers: 'pedestrianRouteFinder:bus_lines',
                    srs: 'EPSG:29900',
                    format: 'image/png',
                    transparent:true
                },
                {isBaseLayer:false, opacity:1},
                {singleTile: true}
            );



            // setup single untiled layer
            luasLines = new OpenLayers.Layer.WMS(
                "pedestrianRouteFinder:luas_lines - Untiled", "
http://localhost:8080/geoserver/wms",
                {
                    height: '652',
                    width: '800',
                    layers: 'pedestrianRouteFinder:luas_lines',
                    srs: 'EPSG:29900',
                    format: 'image/png',
                    transparent:true
                },
                {isBaseLayer:false, opacity:1},
                {singleTile: true}
            );



            // setup single untiled layer
            luasStops = new OpenLayers.Layer.WMS(
                "pedestrianRouteFinder:luas_stops_snapped - Untiled", "
http://localhost:8080/geoserver/wms",
                {
                    height: '652',
                    width: '800',
                    layers: 'pedestrianRouteFinder:luas_stops_snapped',
                    srs: 'EPSG:29900',
                    format: 'image/png',
                    transparent:true
                },
                {isBaseLayer:false, opacity:1},
                {singleTile: true}
            );


            map.addLayers([roads, busLines, luasLines, luasStops]);

            // setup controls and initial zooms
            map.addControl(new OpenLayers.Control.PanZoomBar());
            map.addControl(new OpenLayers.Control.Navigation());
            map.addControl(new OpenLayers.Control.Scale($('scale')));
            map.addControl(new OpenLayers.Control.MousePosition({element:
$('location')}));
            map.addControl(new OpenLayers.Control.LayerSwitcher());


            map.zoomToExtent(bounds);



            // support GetFeatureInfo
            map.events.register('click', map, function (e) {
                document.getElementById('nodelist').innerHTML = "Loading...
please wait...";
                var url =  map.layers[0].getFullRequestString(
                    {
                        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,
                        WIDTH: map.size.w,
                        HEIGHT: map.size.h
                    },
                    "http://localhost:8080/geoserver/wms"
                );
                OpenLayers.loadURL(url, '', this, setHTML, setHTML);
                OpenLayers.Event.stop(e);
            });
        }
        </script>

    </head>
    <body onload="init()">
        <div id="map"></div>
        <div id="wrapper">
            <div id="location"></div>
            <div id="scale"></div>
        </div>
        <div id="nodelist">Click on the map to get feature info</div>

    </body>
</html>



Thanks for the help



On 09/03/2008, Edel Banks <edel.banks at gmail.com> wrote:
>
>
>
> ---------- Forwarded message ----------
> From: Edel Banks <edel.banks at gmail.com>
> Date: 9 Mar 2008 18:12
> Subject: Re: [OpenLayers-Users] Nodelist Info not working
> To: Arnd Wippermann <arnd.wippermann at web.de>, users at openlayers.org
>
> Arnd thanks for the reply, tried using map.layers[2].getFullRequestString
> and map.layers[2].params.LAYERS as you suggested but still get "Loading...
> please wait..."
>
> I have an idea of what the problem is but not how to fix it.
>
> I copied the source code from the openlayers *tiger-ny *example saved it
> as my own html file in my project directory in data_dir/.  My intention was
> to make one change at a time to see if, when the get feature info function
> would stop working to identify the issue.  But the first time I opened the
> file without any changes it didn't work, the "Loading... please wait..."
> message was displayed when a feature is clicked.
>
> Also, when the original tiger-ny is being called the url has a lot of
> information in it:
>
> http://localhost:8080/geoserver/wms?bbox=-74.047185,40.679648,-73.907005,40.882078&styles=&Format=application/openlayers&request=GetMap&layers=tiger-ny&width=431&height=550&srs=EPSG:4326
>
> I recognise all of this information, since some of it is specified in the
> html page
>
> The url is the only thing that is different. Is their something that needs
> to be added to the copied code to get the wms query working?
>
> Or maybe my project directory structure in geoserver is incorrect?
> geoserver/data_dir/project_dir/copied_tiger-ty.html
>
> Or I have to do something other then create the directory, put the files
> in it and go?
>
> Thanks
> E
>
>
> On 09/03/2008, Arnd Wippermann <arnd.wippermann at web.de> wrote:
> >
> > Hi,
> >
> > $('layers')
> > map.layers[0] is not the layer of the query. Try it with map.layers[2].
> >
> > map.layers[2].getFullRequestString
> > map.layers[2].params.LAYERS
> >
> > Mit freundlichen Grüssen
> >
> > Arnd Wippermann
> > http://gis.ibbeck.de/
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: users-bounces at openlayers.org [mailto:users-bounces at openlayers.org]
> > Im
> > Auftrag von osgis
> > Gesendet: Sonntag, 9. März 2008 15:50
> > An: users at openlayers.org
> > Betreff: Re: [OpenLayers-Users] Nodelist Info not working
> >
> >
> >
> > Hi Chris1211,
> >
> > I'm having the same problem.  I've tried changing the
> >
> > var url =  map.layers[0].getFullRequestString(
> > ...
> > QUERY_LAYERS: map.layers[0].params.LAYERS,
> >
> > To:
> > var url =  map.layers[$('layers')].getFullRequestString(
> > ...
> > QUERY_LAYERS: map.layers[$('layers')].params.LAYERS,
> >
> > And:
> > var url =  map.layers[$('layer')].getFullRequestString(
> > ...
> > QUERY_LAYERS: map.layers[$('layer')].params.LAYERS,
> >
> >
> > Still no joy :(
> >
> > If anyone has any suggestions they'd be much appreciated.
> >
> >
> > chris1211 wrote:
> > >
> > > I am trying to get the feature info from my map that has multi layers
> > > and uses the layer switcher but all i get it a please wait the layer i
> > > need to quarry is the Panels layer can some one please help. thanks
> > > function init(){  var bounds = new
> > > OpenLayers.Bounds(-88.55546395,36.1137137,-87.98201304999999,
> > 36.5199723);
> >
> > >  map = new OpenLayers.Map('map', { controls: [] });
> > >               map.addControl(new OpenLayers.Control.PanZoomBar());
> > >               map.addControl(new OpenLayers.Control.MouseToolbar());
> > >
> > >
> > >           // support GetFeatureInfo
> > >           map.events.register('click', map, function (e) {
> > >             OpenLayers.Util.getElement('nodelist').innerHTML =
> > "Loading...
> > > please wait...";
> > >             var url =  map.layers[0].getFullRequestString({
> > >                             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,
> > >                             layers: 'Panels',
> > >                             styles: '',
> > >                             srs: 'EPSG:4326',
> > >                             WIDTH: map.size.w,
> > >                             HEIGHT: map.size.h},
> > >
> > > "http://hazards.fema.gov/wmsconnector/wmsconnector/Servlet/flood"
> > >                             );
> > >             OpenLayers.loadURL(url, '', this, setHTML, setHTML);
> > >             Event.stop(e);
> > >       });
> > >
> > >
> > >             map.addControl(new
> > > OpenLayers.Control.LayerSwitcher({'div':OpenLayers.Util.getElement('la
> > > yerswitcher')}));
> > >
> > >           var hctiger_wms = new OpenLayers.Layer.WMS( "OpenLayers
> > WMS",
> > >                 "http://13.0.0.150:8080/geoserver/wms",
> > >                 {layers: 'District 9 Homeland'},
> > > {'displayInLayerSwitcher':false} );
> > >
> > >             var zone_wms = new OpenLayers.Layer.WMS( "FEMA Flood
> > > Zones",
> > >
> > > "http://hazards.fema.gov/wmsconnector/wmsconnector/Servlet/flood",
> > >                 {layers: "Flood_Hazard_Zones", transparent: "true",
> > > format: "image/png" });
> > >      map.addLayer(zone_wms);
> > >
> > >             var panels_wms = new OpenLayers.Layer.WMS( "FEMA DFIRM
> > > Panels",
> > >
> > > "http://hazards.fema.gov/wmsconnector/wmsconnector/Servlet/flood",
> > >                 {layers: "Panels", transparent: "true", format:
> > > "image/png" });
> > >
> > >           var precip_wms = new OpenLayers.Layer.WMS( "Total Storm
> > > Precip",
> > >
> > > "http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/ntp.cgi?",
> > >                 {layers: "nexrad_stormtotal_precip", transparent:
> > > "true",
> > > format: "image/png" },
> > >               {isBaseLayer: false, opacity: 0.5});
> > >
> > >               map.addLayer(precip_wms);
> > >
> > >        var nexrad_wms = new OpenLayers.Layer.WMS( "Current Nexrad
> > Radar",
> > >
> > > "http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi?",
> > >                 {layers: "nexrad-n0r-m05min", transparent: "true",
> > format:
> > > "image/png" },
> > >               {isBaseLayer: false, opacity: 0.5});
> > >
> > >               map.addLayer(nexrad_wms);
> > >
> > >        var polywarn_wms = new OpenLayers.Layer.WMS( "NWS Polygon
> > Warnings",
> > >
> > > "http://mesonet.agron.iastate.edu/cgi-bin/wms/us/wwa.cgi?",
> > >                 {layers: "warnings_p", transparent: "true", format:
> > > "image/png" });
> > >
> > >         map.addLayer(polywarn_wms);
> > >
> > >   var zone = new OpenLayers.Layer.GML("Alert Zone Area", "zone.kml",
> > > {format: OpenLayers.Format.KML});
> > > map.addLayer(zone)
> > >
> > >       zone_wms.setVisibility(true);
> > >         panels_wms.setVisibility(false);
> > >       precip_wms.setVisibility(false);
> > >       nexrad_wms.setVisibility(false);
> > >       zone.setVisibility(true);
> > >
> > > map.addLayers([hctiger_wms, zone_wms,
> > > panels_wms,precip_wms,nexrad_wms,polywarn_wms,zone]);
> > > map.setCenter(new OpenLayers.LonLat(-88.328666,36.301788), 11);
> > >
> > >         }
> > >     </script>
> > > <title>Henry Co. EMA</title></head>
> > > <body onLoad="init()">
> > >   <h3 class="style2">Henry County EMA - Map Services Server </h3>
> > >   <div id="layerswitcher" style="float:top; width: 20em;"></div>
> > >     <div id="map"></div>
> > >     <div id="docs">
> > >       <p>Info and Desc.</p>
> > >     </div>
> > >  <div id="nodelist">Click on the map to get feature infos</div>
> > > </body> </html>
> > >
> >
> > --
> > View this message in context:
> > http://www.nabble.com/Nodelist-Info-not-working-tp14975579p15933774.html
> > Sent from the OpenLayers Users mailing list archive at Nabble.com.
> >
> > _______________________________________________
> > Users mailing list
> > Users at openlayers.org
> > http://openlayers.org/mailman/listinfo/users
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20080309/55ea05ca/attachment.html


More information about the Users mailing list