Hello anyone have any ideas why I'm not getting features back from the GetFeatureInfo when I use the google hybride as base map?
thanks! alessandro ferrucci On Wed, Oct 21, 2009 at 1:17 PM, Alessandro Ferrucci < alessandroferru...@gmail.com> wrote: > Hello, > > I have google hybrid as base map, I have some POI's that I store in my own > postGIS database that I overlay on top of google base map. I want to attach > click mouse handler on POI layer for GetFeatureInfo. Whenever I click the > mouse, I don't get any features back. I think it has something to do with > projection and mouse location ? ...not quite sure. > > Just as an aside, when I view my POI layer using Geoserver's demo > functionality, it gets back all features fine, this is reason I think it has > something to do with projection that I attach to my mouse handler or > something. > > here is relevant code: > > <html> > > <head> > <title>CIRA GIS</title> > <script src="http://openlayers.org/api/OpenLayers.js" > type="text/javascript"></script> > <link rel="stylesheet" href="../css/google.css" type="text/css" /> > <script src=" > http://maps.google.com/maps?file=api&v=2&sensor=true&key=ABQIAAAAo2c5r7VgSxo43IHrZeBAoBQamh927W1qenomYTPDD5XN6kDJqBTSmynWaZ9MUgwOTtaOkIJeFZSMjQ<http://maps.google.com/maps?file=api&v=2&sensor=true&key=ABQIAAAAo2c5r7VgSxo43IHrZeBAoBQamh927W1qenomYTPDD5XN6kDJqBTSmynWaZ9MUgwOTtaOkIJeFZSMjQ>" > type="text/javascript"></script> > > <script defer="defer" type="text/javascript"> > > function setHTML(response){ > document.getElementById('nodelist').innerHTML = > response.responseText; > }; > > function init() > { > > var options = { > projection: new OpenLayers.Projection("EPSG:900913"), > displayProjection: new OpenLayers.Projection("EPSG:4326"), > units: "m", > numZoomLevels: 30, > maxResolution: 156543.0339, > maxExtent: new OpenLayers.Bounds(-20037508, -20037508, > 20037508, 20037508.34), > controls: [] > }; > > var map = new OpenLayers.Map( 'map', options ); > > > var cira_addresses_layer = new OpenLayers.Layer.WMS( > "ACS Addresses", > "localhost:8080/geoserver/wms", > { > layers: 'cira:addresses', > transparent: true > }, > {buffer:0, ratio: 1, transitionEffect: 'resize', isBaseLayer: > false} > ); > > var ghyb = new OpenLayers.Layer.Google( > "Google Hybrid", > {sphericalMercator: true, type: G_HYBRID_MAP, numZoomLevels: > 20} > ); > > > // 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.addControl(new OpenLayers.Control.LayerSwitcher()); > > 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[1].params.LAYERS, > FEATURE_COUNT: 50, > Layers: 'cira:addresses', > Styles: '', > Srs: 'EPSG:4326', > WIDTH: map.size.w, > HEIGHT: map.size.h, > format: 'image/jpeg'}; > //updateFeatureInfoFilters(params); > OpenLayers.loadURL(" > http://localhost:8080/geoserver/wms", params, this, setHTML, setHTML); > OpenLayers.Event.stop(e); > // alert("layer: " + map.layers[1].params.LAYERS); > alert("mouse pos: " + e.xy); > }); > > map.addLayers([ghyb,cira_addresses_layer]); > > map.zoomToMaxExtent(); > } > </script> > > </head> > > <body onload="init()"> > <div style="width:100%; height:100%" id="map"></div> > <div id="nodelist"> > <em>Click on the map to get feature info</em> > </div> > </body> > </html> > > > Thank you very much ! > > -- > Signed, > Alessandro Ferrucci > -- Signed, Alessandro Ferrucci
_______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users