出口污染的画布

时间:2017-11-20 04:50:27

标签: export openstreetmap infragistics raster ignite-ui

我们渲染矢量形状和背景地图(打开街道地图)。但我们无法导出来自OSM的此栅格地图。我们有什么方法可以导出这张地图。它抛出错误'Tainted Canvas无法导出'。 问候, 帕

1 个答案:

答案 0 :(得分:0)

OpenStreep地图图像没有经过CORS批准(跨源资源共享)。

启用CORS图像的文档说:

"虽然您可以在画布中使用未经CORS批准的图像,但这样做会使画布黯然失色。一旦画布被污染,您就无法再将数据从画布中拉回来。例如,您不能再使用canvas toBlob(),toDataURL()或getImageData()方法;这样做会引发安全错误。"

您可以尝试使用tilePath属性来设置指向允许CORS的服务器的图像URL,即其Access-Control-Allow-Origin标头允许资源与给定的源共享。 //初始化

$("#map").igMap({
backgroundContent: {
    type: "bing",
    key: "abcdefghijk123456",
    tilePath: "http://www.example.com/tiles/"
}});