官方例子在这:http://openlayers.org/en/latest/examples/vector-wfs-getfeature.html?q=wfs

openlayers3 将基于OGC规范的 WFS查询封装了一下,所以不用去写 XML规范的请求,或者在url上拼接cql_filter= ,还要处理字符编码的问题。

//TODO WFS 查询要素TEST

var vectorSource = new ol.source.Vector();
var vector = new ol.layer.Vector({
source: vectorSource,
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: ‘rgba(0, 0, 255, 1.0)’,
width: 2
})
})
});
map.addLayer(vector);

// generate a GetFeature request
var featureRequest = new ol.format.WFS().writeGetFeature({
srsName: ‘EPSG:3857’,
featureNS: ‘http://www.ztbr.com’, //命名空间
featurePrefix: ‘zbtr’, //工作区域
featureTypes: [‘yanqing18jd’], //图层名
outputFormat: ‘application/json’,
filter:
ol.format.filter.equalTo(‘街道’, ‘百泉街道’) //todo 条件查询过滤
});

// then post the request and add the received features to a layer
fetch(‘http://localhost:8082/geoserver/wfs’, {
method: ‘POST’,
body: new XMLSerializer().serializeToString(featureRequest)
}).then(function(response) {
return response.json();
}).then(function(json) {
var features = new ol.format.GeoJSON().readFeatures(json);
vectorSource.addFeatures(features);
map.getView().fit(vectorSource.getExtent());
});
————————————————
版权声明:本文为CSDN博主「带着天使反上帝 – Kaybee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_25295611/article/details/79044855