Is it possible to get a list of all the layers served by geoserver? I.e. is there some specific url request to send that does this?
The capabilities links on the geoserver home page each list layers served via various services:
A sample WMS request would look like this:
http://demo.opengeo.org/geoserver/wms?request=GetCapabilities&service=WMS&version=1.0.0
So just for completeness, here's an example of how to get a list/array of layers:
var formatter = new OpenLayers.Format.WMSCapabilities();
var endpoint = "path/to/wms/endpoint";
var layers = [];
// async call to geoserver (I'm using angular)
$http.get(endpoint + 'request=GetCapabilities').
success(function(data, status, headers, config) {
// use the tool to parse the data
var response = (formatter.read(data));
// this object contains all the GetCapabilities data
var capability = response.capability;
// I want a list of names to use in my queries
for(var i = 0; i < capability.layers.length; i ++){
layers.push(capability.layers[i].name);
}
}).
error(function(data, status, headers, config) {
alert("terrible error logging..");
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With