Saltar a contenido

Configuración del servidor de mapas para JSON-P

Cuestiones

Para mostrar un flujo WFS en una biblioteca de mapas web, es necesario recuperar los datos y, a continuación, mostrarlos. Sin embargo, la solicitud suele quedar bloqueada por el principio Cross Domain, cuyo objetivo es impedir que dos servidores con dominios diferentes intercambien datos.

JSONP resuelve este problema encapsulando el resultado en una etiqueta <script> (véase el artículo dedicado a JSONP en Journal du Net). Para evitar errores de Javascript, el resultado está contenido en una función, por lo que es necesario conocer el nombre de esta función para poder utilizar la respuesta.

No todos los servidores de mapas más utilizados pueden generar JSONP mediante el parámetro OUTPUTFORMAT=. Aquí presentamos la solución con GeoServer (un servidor de mapas gratuito y de código abierto), habiendo implementado Esri sus propias versiones de los estándares (véase Esri Feature/feature service correspondiente a WFS).

GeoServidor

GeoServer puede devolver JSONP si se ha habilitado la funcionalidad (está deshabilitada por defecto). Para habilitar este parámetro, cree una variable de entorno dependiente del usuario que ejecuta el servicio GeoServer denominada ENABLE_JSONP con el valor true y, a continuación, reinicie el servicio GeoServer.

Le recomendamos que utilice el comando SETX:

SETX /u myuser [/p [<Password>]] ENABLE_JSONP true
GeoServidor JSONP

Una vez hecho esto, cuando hagas una petición GetCapabilities a uno de tus servicios WFS desde GeoServer, el formato JSONP estará presente.

Referencias de GeoServer