canvas.toDataURL () SecurityError

Używam więc map google i otrzymuję obraz, który wygląda tak

<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">

Muszę to zapisać. Znalazłem to:

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,/, ""));

    };
}

Ale mam ten problem:

Uncaught SecurityError: Nie udało się wykonać „toDataURL” w „HTMLCanvasElement”: skażone płótna nie mogą być eksportowane.

Szukałem poprawek. Znalazłem tutaj próbkęJak korzystać z CORS ale nadal nie mogę połączyć tych dwóch kawałków kodu, aby to działało. Może robię to w niewłaściwy sposób i istnieje prostszy sposób, aby to zrobić? Próbuję zapisać to zdjęcie, aby móc przenieść dane na mój serwer. Więc może ktoś zrobił coś takiego i wie, jak to zrobić.toDataURL() pracuję tak, jak tego potrzebuję?

questionAnswers(6)

yourAnswerToTheQuestion