Here are samples using WFS-T and GeoServer. You can draw, modify and delete features (e.g. lines). I developed it for points, polygons, too and I have added FILTER on WFS requests passing a value in query string, configured also WMS GetFeatureInfo in order to query my WFS data on click. Now I am developing a module to create dinamically GeoRSS (including GML as geometries) by querying these features in geoserver as WFS Service and fill them with different colours respect some attribute values..
Hope this help! map = new OpenLayers.Map( 'map' , { controls: [] , 'numZoomLevels':19}); ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'} ); var linea = new OpenLayers.Layer.WFS( "Elementi lineari", "/geoserver/wfs", {typename: 'topp:linea'}, { typename: 'linea', featureNS: 'http://www.openplans.org/topp', extractAttributes: false } ); if (!linea.writer) { poligono.writer = new OpenLayers.Format.WFS({layerName:'topp:linea'},linea); } linea.style.strokeColor = "#0000ff"; map.addLayers([ol_wms, linea]); var panel = new OpenLayers.Control.Panel( {displayClass: 'olControlEditingToolbar'} ); var drawLine = new OpenLayers.Control.DrawFeature( linea, OpenLayers.Handler.Path, {displayClass: 'olControlDrawFeaturePath'} ); drawLine.featureAdded = function(feature) { feature.layer.eraseFeatures([feature]); // cast to multilinestring feature.geometry = new OpenLayers.Geometry.MultiLineString( feature.geometry ); feature.style.strokeColor = "#ff0000"; feature.style.strokeWidth = "5"; feature.style.strokeOpacity = "0.75"; feature.state = OpenLayers.State.INSERT; feature.layer.drawFeature(feature); } var modifyOptions = { onModificationStart: function(feature) { OpenLayers.Console.log("start modifying", feature.id); }, onModification: function(feature) { OpenLayers.Console.log("modified", feature.id); }, onModificationEnd: function(feature) { OpenLayers.Console.log("end modifying", feature.id); feature.state = OpenLayers.State.UPDATE; }, onDelete: function(feature) { OpenLayers.Console.log("delete", feature.id); }, onSelect: function(feature){ OpenLayers.Console.log("select", feature.id); feature.state = OpenLayers.State.DELETE; } }; controls = { dellin: new OpenLayers.Control.SelectFeature(linea, modifyOptions), modifylin: new OpenLayers.Control.ModifyFeature(linea, modifyOptions) }; for(var key in controls) { map.addControl(controls[key]); } document.getElementById('noneToggle').checked = true; panel.addControls( [new OpenLayers.Control.Navigation(), drawLine] ); map.addControl(panel); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.addControl(new OpenLayers.Control.MouseDefaults()); map.addControl(new OpenLayers.Control.MousePosition()); map.addControl(new OpenLayers.Control.PanZoomBar()); map.zoomToExtent(); } function toggleControl(element) { for(key in controls) { var control = controls[key]; if(element.value == key && element.checked) { control.activate(); } else { control.deactivate(); } } } -- Ing. Fabio D'Ovidio INOVA Open Solutions s.r.l. Web : http://www.inovaos.it Tel.: 081 197 57 600 mail: [EMAIL PROTECTED] Alexandre Dubé ha scritto: > Hi Fabio, > > That would be most appreciated. Indika is also looking forward to > see an example to get wfs-t features working. > > > Fabio D'Ovidio wrote: >> If u want, >> I developed something like taht some times ago ... >> >> Alexandre Dubé ha scritto: >>> Hi everyone, >>> >>> Does anybody have a WFS-T example to share ? I would like to see >>> how to use a WFS layer, modify it and post my changes to a WFS server. >>> >>> Thanks, >>> >>> >> > > _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users