HoangHieu
HoangHieu

Reputation: 2840

Can't capture google map with html2canvas

I have a problem when capture screen with html2canvas of html2canvas.hertzen.com, when I capture Map of google map in my page I can't see map

My map

My capture

My code

html2canvas(document.body, {
    onrendered: function(canvas) {
        document.body.appendChild(canvas);
    }
});

Anyone got a tip? Thanks

Upvotes: 8

Views: 10811

Answers (2)

Stanislav Ostapenko
Stanislav Ostapenko

Reputation: 1122

  html2canvas(document.body, {
      proxy: "/my-proxy",
    }).then((canvas) => {
       document.body.appendChild(canvas);
    });

IMPORTANT: Don't add useCORS: true if you using proxy: "/my-proxy" setting.

The plugin will send the request in the next format

https://your-site.com/my-proxy?url=https://path-to-image.jpg&responseType=blob

More information about the proxy server is available here.

Upvotes: 0

mbailey
mbailey

Reputation: 86

The following works for me for Chrome and Firefox:

html2canvas(document.body, {
      proxy: "server.js",
      useCORS: true,
      onrendered: function(canvas) {
        document.body.appendChild(canvas);
      }
    });

where server.js is https://github.com/niklasvh/html2canvas-proxy-nodejs There are other proxies available for PHP and Python that I haven't tried yet. I cannot post both but if you google "html2canvas proxy" you'll be able to find the others if you need them.

Upvotes: 7

Related Questions