I've created a SQL layer, I'm passing the values for that query from client, I want my map to be able to zoom to whatever the layer that comes after query. I tried GetCapabilities, but it zooms to the extent of whole layer, which is not quite helpful.
I've many layers on GeoServer which, when I click on checkbox, displayed on the map.
This is what I'm using now in my program
var url = 'http://localhost:8080/geoserver/wms?;
request=GetCapabilities&service=WMS&version=1.1.0';
var parser = new ol.format.WMSCapabilities();
$.ajax(url).then(function(response)
{
var result = parser.read(response);
var Layers = result.Capability.Layer.Layer;
for(var i=0; i<Layers.length;i++){
var layerobj = Layers[i];
if (layerobj.Name == 'SPA:'+value.id) {
var ex = layerobj.BoundingBox[0].extent;
//ext = map.getView().calculateExtent(map.getSize());
var X = ex [0] + (ex [2]-ex [0])/2;
var Y = ex [1] + (ex [3]-ex [1])/2;
}
}
map.getView().setCenter([X,Y])
map.getView().setZoom(19);
Using this code, I'm able to set zoom level and center of map according to complete layer, but that is not what I want, I want to set zoom level and center according to the features that I get after query.