【问题标题】:google maps marker as div instead canvas谷歌地图标记为 div 而不是画布
【发布时间】:2014-09-25 06:35:01
【问题描述】:

是否可以将标记呈现为 div 或图像而不是画布?我正在尝试在 html2canvas 的帮助下将谷歌地图的当前视口导出为 png,但我无法渲染标记。

当我尝试这个时

document.getElementsByTagName('canvas')[0].toDataURL();

我收到以下错误

SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

PS:我在html2canvas中使用useCORS选项,渲染图像没有问题。

【问题讨论】:

    标签: javascript google-maps canvas


    【解决方案1】:

    Google 地图使用的画布由其脚本渲染,因此您自己的脚本中的任何“useCORS”选项都无关紧要。如果 Google 地图污染了它的画布,那么您将无能为力。

    获得类似于您正在尝试做的事情的一种方法是使用支持 CORS 的 Maps Images APIs 来渲染地图的静态图像,而不是尝试渲染实时界面(有限制 wrt图像大小)。

    【讨论】:

    • 感谢您的回答,我知道静态地图,但我可以从当前视口导出所有当前内容,如标记、路径等吗?地图将是动态的,换句话说,用户可以添加自己的标记等。
    • 如果您的地图上有编辑器,肯定有办法提取用户添加的内容吗?不过,尝试将所有这些内容塞入静态地图 URL 可能会很有趣。
    猜你喜欢
    • 2017-12-29
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2017-09-26
    • 2011-08-04
    • 2014-02-20
    • 2018-01-19
    相关资源
    最近更新 更多