I just got this going for a project I'm working on. You'll need modules WMSGetFeatrueInfo.js and FeatureInfo.js which are not in the 2.7 OL release, but you can get them from Bart's sandbox at: http://dev.openlayers.org/sandbox/bartvde/wmsgetfeatureinfo/openlayers/lib/OpenLayers/Control/FeatureInfo.js And here's a working example: http://dev.openlayers.org/sandbox/bartvde/wmsgetfeatureinfo/openlayers/examples/featureinfo-control.html
You can see my demo scrapplication at http://206.168.217.244/gallery/InfoTool.html and grab anything you want to from that page. You have to set your browser to allow popup windows for this one. Just click on the blue question mark button and then click anywhere in the map over some visible layers. This should display a small popup window in the traditional spot for the info window listing all the layer info. It works in FireFox, but I don't know about IE. Sometimes it doesn't seem to "take" on the first click. The version I made opens up a separate window and lists all the attributes you specify of all the WMS layers found under where you click. I'm using MapServer to produce the WMS layers and for those you want to be queryable, you've got to add some attributes in the mapfile. Specifically in the WEB object, you need at least the last two lines of metadata seen here (with your own content of course): WEB IMAGEPATH "/var/www/html/tmp/" IMAGEURL "/tmp/" METADATA "wms_title" "VFM Data Layers" "wms_onlineresource" "http://***.***.***.***/cgi-bin/mapserv?map=/var/www/html/vfm/ms.map&" "wms_srs" "epsg:900913 epsg:4326" END END and for each layer you need at least the gml_include_items metadata and the parameters DUMP TRUE and TEMPLATE (anything, but it doesn't have to be a real template.) Looks like this: LAYER NAME "counties" METADATA "wms_title" "County Boundaries" "gml_include_items" "NAME,STATE,COUNTY" END TYPE POLYGON STATUS ON DATA ../maps/data/County_tiger_2007_region DUMP TRUE TEMPLATE counties ... You can also use "gml_include_items" "all" if you want all layer attributes displayed. Then in OpenLayers for each layer you want to be queryable, you need to add the queryable:true parameter to the options object when you load each WMS layer. Since this uses AJAX , you may also need to set up a proxy script. Anyway, if you do all that, you can then use this tool just like MapInfo's Info tool. It's pretty fast too, and it can be made to respond to a hover event if you like. - Bill Thoen [email protected] wrote: > Hello all, > > I'm using OpenLayers to build a geodata exploring map : several layers > of polygons and points, with attributes data. > > To show those attributes to the visitor, i'd like to offer an Info > tool, the classic "I" icon tool on our desktop GIS. > > I've tested the SelectFeature control, but it's only returning one > feature at a time. > > I've seen the GetFeatureInfo control, but it's reserved to WFS > datasources (i may be wrong), and i'm using a KML source (generated > from PostGIS tables). > > I've also seen the GetFeature control from the trunk version docs : > http://dev.openlayers.org/docs/files/OpenLayers/Control/GetFeature-js.html > > But i'm lost at testing it. Anyone has an example of it's use ? > > Another solution could be generating the on click features list by > postgis, but it seems slow and counter-intuitive (the features are > already client side). > > Thanks for any help, > > Laurent Jégou > Dept. of Geography / Univ. Toulouse-2 > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > _______________________________________________ > Users mailing list > [email protected] > http://openlayers.org/mailman/listinfo/users > > _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
