Existen ocasiones en las que es interesante consultar desde OpenLayers un servidor externo WMS  para saber el número de capas o el nombre de las mismas. Por ejemplo porque necesitas cargar de manera dinámica una capa en concreto de un servidor.

Lo primero que debemos asegurarnos es que hemos preparado mediante un proxy nuestra aplicación para aceptar respuestas en XML de otros servidores, así podemos realizar consultas getCapabilities para consultar datos del servicio.

layers bytacora

Es interesante que os leáis algún documento sobre como se genera una respuesta getCapabilities para saber los campos que contiene la respuesta XML y como se estructura. Aquí os dejamos una petición getCapabilities al servidor de Catastro para que veáis como es la respuesta.

Existe como podéis ver una premisa básica de la respuesta getCapabilities. Sí, y solo sí, una capa tiene un <Name>, entonces es una capa de mapa que puede solicitarse usando ese nombre en el parámetro LAYERS de una solicitud GetMap.

Un servidor de mapas que publica una capa que contiene un elemento <Name> debe ser capaz de aceptar ese nombre como valor del argumento LAYERS en una petición GetMap y devolver el mapa correspondiente. Un cliente no debe intentar solicitar una capa que tiene título pero no nombre ya que por norma general esto generará problemas.

Con estos conceptos claros, veremos ahora como generar un mensaje de alerta en nuestra aplicación informándonos de todas las capas que sirve el servidor que deseemos interrogar.

De esta manera ya podéis generar un mensaje con todas las capas que se sirven desde ese servidor de mapas. Esperamos que os haya resultado útil, un saludo y hasta próximos post.