目前我正在编写一个网络应用程序,通过静态API从谷歌地图导入图像数据http://code.google.com/apis/maps/documentation/staticmaps/到HTML5画布中。不幸的是,由于跨域限制,我无法操作来自谷歌地图的像素数据。然而,我一直在阅读Mr. Doob的博客文章,他是Wilderness Downtown视频背后的人之一(http://thewildernessdowntown.com),其中使用了带有谷歌地图的画布http://mrdoob.com/blog/post/705,它说道:“另一个挑战是,您无法访问从其他域加载的图像的像素数据......但是,尽管像素访问被禁止,context.drawImage()允许从托管在其他域上的图像复制区域。”
我认为这可能是解决我的问题的方法,因为在文章的后面它展示了图像的像素操作,但我不太明白'context.drawImage()允许从托管在其他域上的图像中复制区域'到底意味着什么,如果有人能为我澄清一下,那将非常有帮助。
谢谢,
DLiKS
编辑:这是我用来将Google地图图像绘制到画布上的代码:
图像显示正常,但当我尝试使用getImageData在画布上操作这个嵌入式图像时,出现安全错误。
我认为这可能是解决我的问题的方法,因为在文章的后面它展示了图像的像素操作,但我不太明白'context.drawImage()允许从托管在其他域上的图像中复制区域'到底意味着什么,如果有人能为我澄清一下,那将非常有帮助。
谢谢,
DLiKS
编辑:这是我用来将Google地图图像绘制到画布上的代码:
var ctx = document.getElementById('canvas').getContext('2d');
var img = new Image();
img.src = 'LINK TO GOOGLE MAPS IMAGE';
img.onload = function(){
ctx.drawImage(img,0,0);
}
图像显示正常,但当我尝试使用getImageData在画布上操作这个嵌入式图像时,出现安全错误。