我允许用户绘制特征,并且在 drawend 上我需要向我的 WFS 服务发出请求以返回特征。
我可以让 WFS 根据使用范围返回数据:
let vectorSource = new VectorSource({
format: new GeoJSON(),
url: function(extent) {
return 'https://example/wfs' +
'?key=key' +
'&SERVICE=WFS' +
'&REQUEST=GetFeature' +
'&TYPENAMES=data_point' +
'&SRSNAME=urn:ogc:def:crs:EPSG::27700' +
'&BBOX=' + extent.join(',') + ',urn:ogc:def:crs:EPSG::27700';
},
strategy: bboxStrategy
});
但是,尽管将此源注入图层并将图层注入地图,但我无法显示这些功能。
我可以使用以下方式显示所有功能:
fetch('example/wfs?key=key', {
method: 'POST',
body: new XMLSerializer().serializeToString(featureRequest)
}).then(function(response) {
return response.text();
}).then(function(gml) {
console.log(gml);
let features = new GML().readFeatures(gml);
vectorSource.addFeatures(features);
map.getView().fit(vectorSource.getExtent());
});
但是,我一生无法弄清楚如何将此请求中请求的数据限制在四个坐标的边界框中。
潜在地,这可能是一个无限的指向几何图形,它将充当显示数据的千篇一律的工具。
我的搜索没有结果。