openlayers截圖之圖片跨域問題

openlayers截圖之圖片跨域問題

報錯:

 Error in v-on handler: "SecurityError: Failed to execute 'toBlob' on 'HTMLCanvasElement': Tainted canvases may not be exported."

 原因:

引用圖片資源如果跨域會污染canvas,導致canvas的toBlob、 toDataURL() 、getImageData()方法報錯。

解決方法:

let map_img = new TileLayer({
  source: new XYZ({
    url: "https://t6.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=" + token,
    //!!!!!設置crossOrigin
    crossOrigin: 'anonymous',
  }),
});

 在服務上添加屬性:   crossOrigin: 'anonymous'

 

 

鑽研不易,轉載請註明出處。。。。。。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章