所以我正在使用Google地图,我得到了这张图片,它看起来像这样
<img id="staticMap"
src="http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap
&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318
&markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284&sensor=false">
我需要保存它。我找到了这个:
function getBase64FromImageUrl(URL) {
var img = new Image();
img.src = URL;
img.onload = function() {
var canvas = document.createElement("canvas");
canvas.width = this.width;
canvas.height = this.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(this, 0, 0);
var dataURL = canvas.toDataURL("image/png");
alert(dataURL.replace(/^data:image\/(png|jpg);base64,/, ""));
};
}
但我遇到了这个问题:
未捕获的SecurityError错误:无法在“HTMLCanvasElement”上执行“toDataURL”:污染的画布可能无法导出。
我搜索了解决方法。我在这里找到了一个样例如何使用CORS,但我仍然无法将这两个代码片段结合起来使其正常工作。也许我做错了,有更简单的方法可以实现吗?我正在尝试保存这张图片,以便将数据传输到我的服务器。所以也许有人做过类似的事情,知道如何使.toDataURL()
按照我的要求工作?
img.src
С╣ІтЅЇУ«Йуй«crossOrigin
т▒ъТђДУЄ│тЁ│жЄЇУдЂсђѓ - horstwilhelm