[OpenLayers-Users] Nodelist Info not working

Edel Banks osgisfyp at gmail.com
Sun Mar 9 18:36:21 EDT 2008


Arnd,

window.open works like a charm, thank you.

Its a bit awkward for what Im trying to do though.

How or where would I declare a proxy script? One is already being used
somewhere can I just point my code to it? so I can use loadURL and have the
map and feature info on the same page.

Thanks again
E

On 09/03/2008, Arnd Wippermann <arnd.wippermann at web.de> wrote:
>
> Hi,
>
> when you use OpenLayers.loadURL(url, '', this, setHTML, setHTML), you have
> to declare a proxy-script. loadURL uses Ajax to the get the filecontents
> to
> display it in your page. You can use window.open(url, "GetFeatureInfo). It
> opens a new window, but you need no proxy.
>
>
> Mit freundlichen Grüssen
>
> Arnd Wippermann
> http://gis.ibbeck.de/
>
>
>
>
>
>
> ________________________________
>
> Von: osgisfyp at gmail.com [mailto:osgisfyp at gmail.com]
> Gesendet: Sonntag, 9. März 2008 19:57
> An: arnd.wippermann at web.de; users at openlayers.org
>
> Betreff: Re: [OpenLayers-Users] Nodelist Info not working
>
>
> 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/0b649414/attachment.html


More information about the Users mailing list