Bill, Try separating the QUERY_LAYERS with a space rather than a comma. MapServer uses space delimited values (gets changed to + separated in the URL).
Mike -- Michael Smith RSGIS Center ERDC - CRREL US Army Corps of Engineers On 1/27/09 6:13 PM, "Bill Thoen" <bth...@gisnet.com> wrote: > I originally asked this on the OpenLayers forum, but was told that this > is really a Maperver question. So I'll try it here. > > I've got a WMS layer that has two sub-layers in it and I'm trying to get > attribute information from them via a getFeatureInfo request, but I can > only get one of them to respond at a time. I've looked at the docs at > http://trac.openlayers.org/wiki/GetFeatureInfo and noticed that you can > specify several layers with the QUERY_LAYERS parameter, but I'm finding > that only the one listed first is active. Also, it's not clear what > layer you specify at the root of the request, but it looks like it's > supposed to be different from the layers you're querying. Anyway, here's > what I'm trying: > > I open and load the combined layer like so: > base = new OpenLayers.Layer.WMS( > "Base", > "http://192.168.0.250/cgi-bin/mapserv?map=base.map", > { layers: ["us_states", "us_interstate"] } > ); > map.addLayer(base); > > > And here's the request string I'm sending to MapServer: > > var url = base.getFullRequestString({ > REQUEST: "GetFeatureInfo", > EXCEPTIONS: "application/vnd.ogc.se_xml", > FORMAT: 'png', > BBOX: map.getExtent().toBBOX(), > X: event.xy.x, > Y: event.xy.y, > INFO_FORMAT: 'text/plain', > QUERY_LAYERS: "us_interstate, us_states", > FEATURE_COUNT: 1, > WIDTH: map.size.w, > HEIGHT: map.size.h}, > "http://192.168.0.250/cgi-bin/mapserv?map=base.map&"); > OpenLayers.loadURL(url, '', this, setHTML); > > Note the QUERY_LAYERS line. As shown here, it responds with interstate > attributes only when I click on an interstate roadway feature, but I get > nothing when I click on a state. If I reverse the order of these layers > in the list, then clicking on a state returns attributes from the > us_states table only. Even if I click on a spot where features in both > layers coincide, it returns only the attributes for the layer listed first. > > Also, setting the FEATURE_COUNT parameter to something higher than 1 just > gives me more results from the single that is working. > > So how do I use multiple layers in the QUERY_LAYERS parameter, or do I > get only one at a time? Also, I just guessed at using the layer called > 'base' for the getFeatureInfo oject, what is supposed to be used here? > > TIA, > - Bill Thoen > > > > _______________________________________________ > mapserver-users mailing list > mapserver-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapserver-users _______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users