É possível ativar o compartilhamento de recursos de origem cruzada (CORS) no OpenLayers? Se sim, como?
Eu tenho um mapa da Web no OpenLayers e estou usando uma tela HTML para renderizá-la como uma imagem PNG. Meu script funciona muito bem, mas devido à política de mesma origem do navegador , só posso converter minha tela em uma imagem se todos os blocos de mapa que eu desenhei vierem do mesmo host (por exemplo sub.domain.com
).
Para aumentar a velocidade de carregamento do meu mapa, eu puxo telhas de uma matriz de subdomínios: a.domain.com
, b.domain.com
, etc. Isso melhora muito o desempenho, trabalhando em torno limite de quatro conexões simultâneas por host do navegador, mas impede-me de nunca converter minha tela de uma imagem, como os blocos vêm de vários hosts.
Estou tentando usar o CORS para solucionar esse problema. Eu configurei o Access-Control-Allow-Origin
cabeçalho de resposta apropriado para o conjunto de peças que sirvo com PHP, mas isso não tem efeito. Eu suspeito que isso se deva a não ter o Origin
cabeçalho na solicitação (como mostrado no exemplo na página Wiki). Parece que é necessária alguma configuração do OpenLayers. Mas o que? Alguém mais fez isso com sucesso?