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 _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
Free forum by Nabble | Edit this page |