Pular para conteúdo

Configurando seu servidor de mapas para JSON-P

Problemas

Para exibir um fluxo WFS em uma biblioteca de mapeamento da Web, os dados precisam ser recuperados e, em seguida, exibidos. No entanto, a solicitação geralmente é bloqueada pelo princípio Cross Domain, que visa impedir que dois servidores com domínios diferentes troquem dados.

O JSONP contorna esse problema encapsulando o resultado em uma tag <script> (consulte o artigo dedicado ao JSONP no Journal du Net). Para evitar erros de Javascript, o resultado está contido em uma função, portanto, você precisa saber o nome dessa função para poder usar a resposta.

Nem todos os servidores de mapas mais usados podem gerar JSONP por meio do parâmetro OUTPUTFORMAT=. Aqui, apresentamos a solução com o GeoServer (um servidor de mapas gratuito e de código aberto), sendo que a Esri implementou suas próprias versões dos padrões (consulte Esri Feature/feature service correspondente ao WFS).

GeoServer

O GeoServer pode retornar JSONP se a funcionalidade tiver sido ativada (ela está desativada por padrão). Para ativar esse parâmetro, crie uma variável de ambiente dependente do usuário que está executando o serviço GeoServer chamado ENABLE_JSONP com o valor true e, em seguida, reinicie o serviço GeoServer.

Recomendamos que você use o comando SETX:

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

Depois de fazer isso, quando você fizer uma solicitação GetCapabilities para um dos seus serviços WFS do GeoServer, o formato JSONP estará presente.

Referências da GeoServer