Thanks for the info. Got it working. 2008/10/28 Arnd Wippermann <[EMAIL PROTECTED]>
> Try this, to get all attributes for the feature: > > function onFeatureSelect(feature) { > var Msg=""; > for(var key in feature.attributes) > Msg += key + ":" + feature.attributes[key] + "\r\n"; > alert(Msg); > } > > but perhaps you mean city_name instead of citiy_name. > > Arnd Wippermann > > > ------------------------------ > *Von:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > *Gesendet:* Dienstag, 28. Oktober 2008 11:47 > *An:* Eric Lemoine > *Cc:* Arnd Wippermann; users@openlayers.org > *Betreff:* Re: [OpenLayers-Users] WFS Layers, Markers, Popups > > Thanks for the info. Got the featureselected event working. > > I am having the issue of obtaining attributes of a feature. > > This is how my code look like. > > wfs_cities = new OpenLayers.Layer.WFS( "WFS Cities", > "http://localhost:8080/geoserver/wfs", > {typename: "topp:cities", > extractAttributes : true > }, > {styleMap: new OpenLayers.StyleMap({ > "default": cities_symbolizer//, > //"select" : cities_symbolizer_select > })} > ); > > var selectControl = new OpenLayers.Control.SelectFeature( > wfs_cities, > {onSelect : onFeatureSelect}); > > function onFeatureSelect(feature) { > alert(feature.attribute.citiy_name); > } > > map.addControl(selectControl); > selectControl.activate(); > > The alert above does not show any output. > By following this method is it necessary to do the following also to > extract attribute information using GetFeature ? > > wfs_cities.events.register('featureselected', map, function (e) { > document.getElementById('nodelist').innerHTML = "Loading"; > var url = wfs_cities.getFullRequestString( > { > //SERVICE : 'WFS', > REQUEST: "GetFeature", > 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[2].params.LAYERS, > PROPERTYNAME: 'the_geom', > FEATURE_COUNT: 50 > //FILTER: '<wfs:FeatureCollection xmlns:wfs=" > http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" > service="WFS" version="1.1.0" xmlns:gml="http://www.opengis.net/gml > "><gml:featureMember><ogc:Filter><ogc:Contains><ogc:PropertyName>the_geom</ogc:PropertyName><gml:Point><gml:coordinates>'+lonlatxy+'</gml:coordinates></gml:Point></ogc:Contains></ogc:Filter></gml:featureMember></wfs:FeatureCollection>', > //WIDTH: map.size.w, > //HEIGHT: map.size.h > }, > "http://localhost:8080/geoserver/wfs" > ); > > Thanks in advance > > > 2008/10/28 Eric Lemoine <[EMAIL PROTECTED]> > >> As Arnd said you should use vectors styled with externalgraphic and >> the select feature control to be able to select your markers and >> display a popup on feature selection. To be notified on feature >> selection register a listener on the layer's featureselected event. >> featureselected listeners receive an object with a feature property >> referencing the selected feature. This is shown in the example Arnd >> pointed you to. Eric >> >> 2008/10/28, Indika Tantrigoda <[EMAIL PROTECTED]>: >> > Thanks for the reply. >> > >> > It seems that when I click within the marker, I get different lon, lat >> > values. >> > >> > Is it necessary to bind the markers to something ? >> > >> > Also with the extractAttributes:true, how can I access the attributes of >> the >> > feature ? >> > >> > Regards, >> > Indika >> > >> > 2008/10/27 Arnd Wippermann <[EMAIL PROTECTED]> >> > >> >> you can use a select control for the wfs layer. >> >> >> >> http://openlayers.org/dev/examples/select-feature-openpopup.html >> >> >> >> If you have load the wfs layer with extractAttributes: true, then your >> wfs >> >> data are saved in the attributes of the features. >> >> >> >> Arnd Wippermann >> >> >> >> ------------------------------ >> >> *Von:* [EMAIL PROTECTED] [mailto: >> [EMAIL PROTECTED] >> >> *Im Auftrag von *Indika Tantrigoda >> >> *Gesendet:* Montag, 27. Oktober 2008 16:17 >> >> *An:* OpenLayers users mailing list >> >> *Betreff:* [OpenLayers-Users] WFS Layers, Markers, Popups >> >> >> >> Hi, >> >> I have a wfs layer that displays points on my map, using markers. >> >> I would like to have a popup that displays data regarding the point >> which >> >> would get activated for a click event. >> >> >> >> I tried the following but, it seems to return all the data regarding >> the >> >> wfs layer, not the single point, irrespective of >> >> where I click on the map. >> >> >> >> wfs_cities.events.register('click', map, function (e) { >> >> document.getElementById('nodelist').innerHTML = >> >> "Loading... >> >> please wait..."; >> >> var url = map.layers[2].getFullRequestString( >> >> { >> >> REQUEST: "GetFeature", >> >> 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[2].params.LAYERS, >> >> FEATURE_COUNT: 50, >> >> WIDTH: map.size.w, >> >> HEIGHT: map.size.h >> >> }, >> >> "http://localhost:8080/geoserver/wfs" >> >> ); >> >> >> >> Any ideas how I can get around this ? >> >> >> >> Thanks in advance. >> >> >> >> Regards, >> >> Indika >> >> >> > >> > >
_______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users