Apakah mungkin untuk mengaktifkan Cross-Origin Resource Sharing (CORS) di OpenLayers? Jika ya, bagaimana caranya?
Saya memiliki peta web di OpenLayers, dan saya menggunakan kanvas HTML untuk menjadikannya sebagai gambar PNG. Skrip saya berfungsi dengan baik, tetapi karena kebijakan yang sama dengan asal browser , saya hanya dapat mengubah kanvas saya menjadi gambar jika semua ubin peta yang saya gambar berasal dari host yang sama (misalnya sub.domain.com
).
Untuk meningkatkan kecepatan memuat peta saya, saya menarik ubin dari berbagai subdomain: a.domain.com
,, b.domain.com
dll. Ini sangat meningkatkan kinerja, bekerja di sekitar batas peramban dari empat koneksi simultan per host, tetapi mencegah saya dari pernah mengubah kanvas saya ke gambar, seperti ubin berasal dari beberapa host.
Saya mencoba menggunakan CORS untuk mengatasi masalah ini. Saya telah menetapkan Access-Control-Allow-Origin
header respons yang sesuai untuk tileset yang saya layani dengan PHP, tetapi ini tidak berpengaruh. Saya menduga ini karena tidak memiliki Origin
header dalam permintaan (seperti yang ditunjukkan pada contoh di halaman Wiki). Tampaknya beberapa konfigurasi OpenLayers diperlukan. Tapi apa? Adakah yang berhasil melakukan ini?