html2canvas不适用于Google Maps Pan

亚伦·克雷德(Aaron Kreider)

我正在使用html2canvas将我的在线地图另存为图像(请参阅另存为图像链接)。我已经在Firefox,Chrome和Opera中进行了尝试。

如果您不更改默认地图,它往往会更频繁地工作。如果先缩放然后平移地图,则不太可能起作用。地图将平移,但是html2canvas将使用旧的中心点和地图边界。html2canvas将无法为新的地图边界加载地图图块。

地图可以正常平移,但是html2canvas使用旧的中心点和地图边界。为什么是这样?

为了支持从不同域获取图像,我有以下设置:

useCors: true;

我尝试了以下解决方案

-手动更改地图类型。有时这可以解决。

-触发浏览器调整大小事件-没用。

-使用setTimeout()等待2000毫秒以确保切片已加载-无用

-使用代理(html2canvas_proxy_php.php)-没用

-使用Google Maps idle事件在保存之前等待地图空闲-没有用

姆菲尔道斯

显然,问题似乎源于html2canvas至少在chrome中无法渲染css转换(我只能在OSX上的chrome中再现该问题)。存放图块的容器使用进行翻译-webkit-transform所以,我们可以做的就是抓住该容器被移位的值,去掉变换,分配lefttop从我们下了值transform,然后使用html2canvas这样,地图就不会损坏,完成后我们将重置地图的css值html2canvas

所以我将其粘贴到您站点的javascript控制台中,并且似乎可以正常工作

//get transform value
var transform=$(".gm-style>div:first>div").css("transform")
var comp=transform.split(",") //split up the transform matrix
var mapleft=parseFloat(comp[4]) //get left value
var maptop=parseFloat(comp[5])  //get top value
$(".gm-style>div:first>div").css({ //get the map container. not sure if stable
  "transform":"none",
  "left":mapleft,
  "top":maptop,
})
html2canvas($('#map-canvas'),
{
  useCORS: true,
  onrendered: function(canvas)
  {
    var dataUrl= canvas.toDataURL('image/png');
    location.href=dataUrl //for testing I never get window.open to work
    $(".gm-style>div:first>div").css({
      left:0,
      top:0,
      "transform":transform
    })
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

触摸事件不适用于Angular中的Google Maps

来自分类Dev

Google Maps API RadarSearch不适用于伦敦

来自分类Dev

延迟属性不适用于Google Maps API?

来自分类Dev

Angular Universal不适用于Angular Google Maps

来自分类Dev

Google Maps信息窗口不适用于标记单击

来自分类Dev

Google Maps适用于Android Release APK,但不适用于AAB

来自分类Dev

Html2canvas 不适用于 angular.js 中的 Google 折线图

来自分类Dev

Google Map屏幕截图不适用于使用html2canvas的标记和标记群集

来自分类Dev

适用于iOS 13.2的离子WKWebView的Pan事件问题

来自分类Dev

Google Maps Driving Mode URL方案不适用于Android

来自分类Dev

Slick.js不适用于Google Maps API中的infoBox.js

来自分类Dev

Android SHA1版本密钥库不适用于Google Maps

来自分类Dev

angular-google-maps不适用于不是text / ng-template的templateUrl

来自分类Dev

AngularJS $ location不适用于google.maps.event侦听器

来自分类Dev

Google Maps API密钥不适用于所有环境

来自分类Dev

Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

来自分类Dev

Slick.js不适用于Google Maps API中的infoBox.js

来自分类Dev

html2canvas边框半径不适用于img标签

来自分类Dev

html2canvas边框半径不适用于img标签

来自分类Dev

适用于iOS的Google Maps SDK中的热图

来自分类Dev

Google Maps停留在左上角-桌面解决方案不适用于移动设计

来自分类Dev

适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

来自分类Dev

适用于Android的Google Maps API v2:标记和折线位置不匹配

来自分类Dev

适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

来自分类Dev

适用于Android的Google Maps v2地图图块重叠

来自分类Dev

适用于企业的Google Maps Mobile SDK与Google Maps Android API

来自分类Dev

Google Maps API v3导航(例如适用于Android的Google Maps)

来自分类Dev

适用于企业的Google Maps Mobile SDK与Google Maps Android API

来自分类Dev

Apple Maps的Google Maps自动完成功能是否适用于Objective C?

Related 相关文章

  1. 1

    触摸事件不适用于Angular中的Google Maps

  2. 2

    Google Maps API RadarSearch不适用于伦敦

  3. 3

    延迟属性不适用于Google Maps API?

  4. 4

    Angular Universal不适用于Angular Google Maps

  5. 5

    Google Maps信息窗口不适用于标记单击

  6. 6

    Google Maps适用于Android Release APK,但不适用于AAB

  7. 7

    Html2canvas 不适用于 angular.js 中的 Google 折线图

  8. 8

    Google Map屏幕截图不适用于使用html2canvas的标记和标记群集

  9. 9

    适用于iOS 13.2的离子WKWebView的Pan事件问题

  10. 10

    Google Maps Driving Mode URL方案不适用于Android

  11. 11

    Slick.js不适用于Google Maps API中的infoBox.js

  12. 12

    Android SHA1版本密钥库不适用于Google Maps

  13. 13

    angular-google-maps不适用于不是text / ng-template的templateUrl

  14. 14

    AngularJS $ location不适用于google.maps.event侦听器

  15. 15

    Google Maps API密钥不适用于所有环境

  16. 16

    Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

  17. 17

    Slick.js不适用于Google Maps API中的infoBox.js

  18. 18

    html2canvas边框半径不适用于img标签

  19. 19

    html2canvas边框半径不适用于img标签

  20. 20

    适用于iOS的Google Maps SDK中的热图

  21. 21

    Google Maps停留在左上角-桌面解决方案不适用于移动设计

  22. 22

    适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

  23. 23

    适用于Android的Google Maps API v2:标记和折线位置不匹配

  24. 24

    适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

  25. 25

    适用于Android的Google Maps v2地图图块重叠

  26. 26

    适用于企业的Google Maps Mobile SDK与Google Maps Android API

  27. 27

    Google Maps API v3导航(例如适用于Android的Google Maps)

  28. 28

    适用于企业的Google Maps Mobile SDK与Google Maps Android API

  29. 29

    Apple Maps的Google Maps自动完成功能是否适用于Objective C?

热门标签

归档