[Gfoss] OpenLayer funzione Insert Point per un WFS-T

Nicola De Innocentis deinnocentis.nicola a gmail.com
Mer 4 Maggio 2011 18:45:49 CEST


Ciao a tutti,
sto studiando un esempio di wfs-t in OpenLayers con punti provenienti dal
database PostGIS e gestiti attraverso Geoserver.
Ho inserito le funzioni di spostamento, di rimozione, di visualizzazione
info sul layer wms e di salvataggio.Queste funzioni vanno bene e fungono
perfettamente.
Volevo poi creare una funzione di Inserimento punto con un apertura di un
form in cui si potessero riempire i campi di attributi appartenente al
vettore wfs.Il form appare come un popup il problema è che all'inserimento
dati non si aggiornano i campi di attributo nel wfs.
L'esempio ha preso spunto da quest'altro a tale link :
http://www.gisandchips.org/demos/j3m/wfs/wfs_golf.html
mentre il mio codice della funzione è questo:

      var drawPoint = new OpenLayers.Control.DrawFeature(
                wfs_layer, OpenLayers.Handler.Point,
                {    multi:false,
                    displayClass: 'olControlDrawFeaturePoint',
                    featureAdded: function InsertFeature(feature){
                                        selectedFeature=feature;
                                        var fid=selectedFeature.id;
                                        var
CATEGORIA=selectedFeature.attributes['CATEGORIA'];
                                        var
PROVINCIA=selectedFeature.attributes['PROVINCIA'];


                                                     htmlForm="<div
style='font-size:.8em'>"+
                                                     '<h2><b>Inserire i
Dati</b></h2>\n'+
                                                     "FID: "+fid+ "<br/>\n"
+"<input type='hidden' name='fid' id='fid' value='"+ fid +"'>" +
                                                     "CATEGORIA:<input
type='text' name='CATEGORIA' id='CATEGORIA' value='Categoria' size=20
style='background-color: #E6E6FA; color: #7F7F7F; font-style: italic;' >
<br/>\n" +
                                                     "PROVINCIA:<input
type='text' name='PROVINCIA' id='PROVINCIA' value='provincia' size=15
style='background-color: #E6E6FA; color: #7F7F7F; font-style: italic;' >
<br/>\n" +
                                                    "<button
onclick=btnInsert>Salva</button>"+"</div>"
                                                             //definizione
popup
                                                             popup = new
OpenLayers.Popup.FramedCloud("info",

 feature.geometry.getBounds().getCenterLonLat(),
                                                             null,
                                                             htmlForm,
                                                             null,
                                                             true

                                                             );


                                                      feature.popup = popup;
                                                      map.addPopup(popup);


                                                      var btnInsert=new
OpenLayers.Control.Button({trigger:function Update(fid){

                                                                      var
fid=new OpenLayers.Util.getElement('fid').value;
                                                                      var
mioFeature=wfs_layer.getFeaturebyId(fid);


//attribuisce il valore inserito dal Form all'attributo della Feature

miofeature.attributes.CATEGORIA=OpenLayers.Util.getElementById('CATEGORIA').value;

miofeature.attributes.PROVINCIA=OpenLayers.Util.getElementById('PROVINCIA').value;


//Rimuove popup

map.removePopup(mioFeature.popup);

mioFeature.popup.destroy();

mioFeature.popup = null;

                                                                    } //fine
update

                                                      }); //fine trigger



                                                //     else info
                                            } //fine Insert function

Vi ringrazio anticipatamente per l'aiuto.Ciao
-- 
Nicola De Innocentis

www.nicoladeinnocentis.it
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20110504/a1596f46/attachment.html>


Maggiori informazioni sulla lista Gfoss