这两天写openlayers时遇到一个问题,通过postgresql+geoserver+openlayers进行数据的增删改时要素设置setGeometryName为geom,请求发送成功后在geoserver中通过geojson方式查看时发现geometry为null,解决办法:
node = formatWfs.writeTransaction(null, null, features, option)
s = new XMLSerializer()
str = s.serializeToString(node)
// 将发送的str中的geometry全部替换成geom
let updStr = str.replace(/geometry/g,"geom")
var xhr = new XMLHttpRequest();
xhr.open("POST", url);
xhr.setRequestHeader('Content-Type', 'text/xml');
xhr.send(updStr );
我将发送之前的str中的geometry标签全部替换成了geom,重新发送,发现问题解决。
特此记录。