12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import {WFS} from 'ol/format';
- export default class useWfs{
- constructor(feature){
- this.feature = feature//传入要增删改的图层数据
- }
-
- //添加图层到数据库和服务器
- wfsAdd() {
- let WFSTSerializer = new WFS();
- let featObject = WFSTSerializer.writeTransaction([this.feature],
- null, null, {
- featureType: 'shop',
- featurePrefix: 'build',
- featureNS: 'Http://localhost:8084/geoserver/test',
- srsName: 'EPSG:3857'
- });
- //创建请求
- let serializer = new XMLSerializer();
- let featString = serializer.serializeToString(featObject);
- let request = new XMLHttpRequest();
- //发送请求
- this.wfsSend(request,featString)
- }
- //删除数据
- wfsDelete() {
- let WFSTSerializer = new WFS();
- let featObject = WFSTSerializer.writeTransaction(null,
- null, [this.feature], {
- featureType: 'shop',//图层名
- featurePrefix: 'build',
- featureNS: 'Http://localhost:8084/geoserver/test',//命名空间uri
- srsName: 'EPSG:3857'
- });
- //创建请求
- let serializer = new XMLSerializer();
- let featString = serializer.serializeToString(featObject);
- let request = new XMLHttpRequest();
- this.wfsSend(request,featString)
- }
- //修改数据
- wfsModify() {
- let WFSTSerializer = new WFS();
- let featObject = WFSTSerializer.writeTransaction(null,
- [this.feature], null, {
- featureType: 'shop',
- featurePrefix: 'build',
- featureNS: 'Http://localhost:8084/geoserver/test',
- srsName: 'EPSG:3857'
- });
- //创建请求
- let serializer = new XMLSerializer();
- let featString = serializer.serializeToString(featObject);
- let request = new XMLHttpRequest();
- this.wfsSend(request, featString)
- }
- //发送数据请求
- wfsSend(request, featString) {
- console.time('aaa')
- request.open('POST', 'http://localhost:8084/geoserver/test/ows?');
- request.setRequestHeader('Content-Type', 'text/xml');
- request.send(featString);
- request.onreadystatechange = function () {
- if (request.readyState === 4 && request.status === 200) {
- console.log(request.responseText);
- }
- }
- console.timeEnd('aaa')
- }
- }
|