1.首先需要引入插件canvas2image.js用来将canvas转图片
cesium也是基于canvas容器实现webgl,canvas可以直接将内容保存成图片:canvas2image。我们只需要获取到cesium的容器canvas就可以直接保存为图片了:
var canvas = viewer.scene.canvas;
var genimg = Canvas2Image.convertToImage(canvas, canvas.width, canvas.height , 'png');
var image = document.getElementById('image');
image.src = genimg.src;
2.运行控制台报错:Blocked script execution in 'about:blank' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.
分析:因为infoBox是Ifram框架,H5的新安全机制不允许在其中执行脚本,如果在里面写了类似于点击事件的脚本,则会提示如下错误:
解决方法有两个:
1.禁用infobox,自己设计信息面板。
2.设置沙箱的权限
var iframe = document.getElementsByClassName('cesium-infoBox-iframe')[0];