一、过滤不为Geometry字段时属性查询:
function getBoundary(JIGOU_MC) {
var data = {
"service": "wfs",
"version": "1.1.0",
"request": "GetFeature",
"typeName": layer,//图层
"outputFormat": "application/json",
"cql_filter": "NAME LIKE '%" + JIGOU_MC + "%'"
};
$.ajax({
url: url,//wfs服务地址
data: data,
type: "GET",
contentType: "text/plain;charset=UTF-8",
success: function (data) {
var features = new ol.format.GeoJSON().readFeatures(data);
if (features.length > 0) {
var extent = features[0].getGeometry().getExtent();
map.getView().fit(extent, {
size: map.getSize(),
duration: 500
});
} else {
alert('没有查询到机构所在行政区!');
}
},
error: function (data) {
alert('没有查询到机构所在行政区!');
}
});
}
二、空间查询:
function getBoundary( x, y) {
var data = {
"service": "wfs",
"version": "1.1.0",
"request": "GetFeature",
"typename": layer,
"outputformat": "application/json",
"cql_filter": "CONTAINS(SHAPE,SRID=4326;POINT(" + x + " " + y + "))"
};
$.ajax({
url: url,
data: data,
type: "GET",
contentType: "text/plain;charset=UTF-8",
success: function (data) {
var features = new ol.format.GeoJSON().readFeatures(data);
}
});
}
三、获取图层服务:
var wmsSource = new ol.source.TileWMS({
url: url,
params: {
'FORMAT': 'image/png',
'VERSION': '1.1.1',
tiled: true,
"LAYERS": layers,
"exceptions": 'application/vnd.ogc.se_inimage',
},
serverType: 'geoserver',
crossOrigin: 'anonymous',
});
var wmsLayer = new ol.layer.Tile({
source: wmsSource,
zIndex: index//图层显示层级
});
map.addLayer(wmsLayer);```