[OpenLayers-Users] WFS Layers, Markers, Popups

Indika Tantrigoda indika85 at gmail.com
Tue Oct 28 06:46:54 EDT 2008


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 <eric.c2c at gmail.com>

> 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 <indika85 at gmail.com>:
> > 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 <arnd.wippermann at web.de>
> >
> >>  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:* users-bounces at openlayers.org [mailto:
> users-bounces at openlayers.org]
> >> *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
> >>
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20081028/dfc4cf48/attachment.html


More information about the Users mailing list