Est-il possible d'activer le partage de ressources d'origine croisée (CORS) dans OpenLayers? Si c'est le cas, comment?
J'ai une carte Web dans OpenLayers et j'utilise un canevas HTML pour le rendre sous forme d'image PNG. Mon script fonctionne très bien, mais en raison de la politique d'origine du navigateur , je ne peux convertir mon canevas en image que si toutes les tuiles de carte que j'ai dessinées proviennent du même hôte (par exemple sub.domain.com
).
Pour augmenter ma carte vitesse de chargement, je tire les tuiles d'un tableau de sous - domaines: a.domain.com
, b.domain.com
, etc. Cela améliore considérablement les performances, le travail autour de la limite du navigateur de quatre connexions simultanées par hôte, mais ne me permet pas de convertir jamais ma toile à une image, comme les tuiles proviennent de plusieurs hôtes.
J'essaie d'utiliser CORS pour contourner ce problème. J'ai défini l'en- Access-Control-Allow-Origin
tête de réponse approprié pour l'ensemble de tuiles que je sers avec PHP, mais cela n'a aucun effet. Je soupçonne que cela est dû au fait de ne pas avoir l'en- Origin
tête dans la demande (comme indiqué dans l'exemple sur la page Wiki). Il semblerait qu'une configuration OpenLayers soit requise. Mais quoi? Quelqu'un d'autre a-t-il réussi cela?
la source
juste après
ajouter
la source