[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