2012-07-23 47 views
0

我在編輯WFS圖層時遇到問題。編輯對象後,我保存了一個對象,但出錯了。保存對象的幾何體被破壞後。嘗試在GEoservers圖層預覽中觀看圖層,並找不到已編輯的對象。Openlayers在編輯WFS之後打碎幾何圖形

有我的代碼。

if(counter==0){ 
        if(ppp==null){ 
           if (edit==null){ 
            edit = new OpenLayers.Control.ModifyFeature(myVecLayer); 
            map.addControl(edit); 
            ppp=map.getControlsByClass("OpenLayers.Control.ModifyFeature"); 
           } 
          } 

           map.addLayers([myVecLayer]); 
           Ffilter = new OpenLayers.Filter.Comparison({ 
             type: OpenLayers.Filter.Comparison.EQUAL_TO, 
             property: 'id', 
             value: '170', 
            }) 
           myVecLayer.filter=Ffilter; 
           myVecLayer.refresh({force: true}); 
          for(var i=0;i<ppp.length;i++){ 
           ppp[i].activate(); 
          } 
          counter=1; 

       } 
       else { 
        //FS.deactivate(); 
        SS.save(); 
        //myVecLayer.destroyFeatures(); 
        map.removeLayer(myVecLayer); 
        for(var i=0;i<ppp.length;i++){ 
           ppp[i].deactivate(); 
          } 
        //ppp.deactivate(); 
        counter=0; 
       } 

和WFS

SS=new OpenLayers.Strategy.Save(); 
osm = new OpenLayers.Layer.OSM("OpenStreet Maps"); 
//WFS 
          var myStyle = OpenLayers.Util.extend({}, 
           OpenLayers.Feature.Vector.style['default']); 
          myStyle.strokeWidth = 1.5; 
          myStyle.strokeColor = "#ff0000"; 
          myStyle.fillOpacity = 0.1; 
          OpenLayers.ProxyHost = "proxy.cgi?url="; 
          var renderer = OpenLayers.Util.getParameters(window.location.href).renderer; 
          renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;   
          myVecLayer = new OpenLayers.Layer.Vector("Редактируемый участок", { 
           strategies: [new OpenLayers.Strategy.BBOX(), SS], 
           style: myStyle, 
           protocol: new OpenLayers.Protocol.WFS({ 
            version: "1.0.0", 
            srsName:"EPSG:900913", 
            url: "http://localhost:8080/geoserver/wfs", 
            featureType: "filedata", 
            featureNS: "http://www.opengeospatial.net/cite", 
            defaultFilter : filter 
           }), 
           renderers: renderer 
          }) 

回答

0

這是對的GeoServer層的選項問題。對於所有的作品都需要使用「Keep native SRS」。