Openlayers 3打印地图分区

Openlayers 3打印地图分区,openlayers,openlayers-3,Openlayers,Openlayers 3,是否有本地方式打印“map”div 我试过几种不同的方法 var printContents = document.getElementById("map").outerHTML; var popupWin = window.open('', '_blank', 'width=600,height=300'); popupWin.document.open(); popupW

是否有本地方式打印“map”div

我试过几种不同的方法

var printContents =  document.getElementById("map").outerHTML;
                    var popupWin = window.open('', '_blank', 'width=600,height=300');
                    popupWin.document.open();
                    popupWin.document.write('<html><head><link rel="stylesheet" type="text/css" href="style.css" /></head><body onload="window.print()">' + printContents + '</body></html>');
                    popupWin.document.close();
var printContents=document.getElementById(“map”).outerHTML;
var popupWin=window.open(“”,"u blank’,“宽度=600,高度=300”);
popupWin.document.open();
popupWin.document.write(“”+打印内容+“”);
popupWin.document.close();
而且

var divContents = $("#map").html();
                    var printWindow = window.open('', '', 'height=400,width=800');
                    printWindow.document.write('<html><head><title>DIV Contents</title>');
                    printWindow.document.write('</head><body >');
                    printWindow.document.write(divContents);
                    printWindow.document.write('</body></html>');
                    printWindow.document.close();
                    printWindow.print();
var divContents=$(“#map”).html();
var printWindow=window.open(“”,’高度=400,宽度=800’);
printWindow.document.write('DIV Contents');
printWindow.document.write(“”);
printWindow.document.write(divContents);
printWindow.document.write(“”);
printWindow.document.close();
printWindow.print();
这两个都打开了一个浏览器打印窗口,但都有一个空白预览,似乎代码正在查找“map”div,但无法获取完整的HTML或其他内容


非常感谢您的帮助

首先在map div中定位canvas元素。如果我使用map,我可以通过以下操作访问canvas:

var canvas = document.getElementById("map").getElementsByClassName("ol-unselectable")[0];
接下来,将其转换为图像对象:

var img = canvas.toDataURL("image/png");
然后,您可以在页面上打印图像并打印页面:

document.write('<img src="'+img+'"/>');
document.write(“”);

这是导出到png的。这不是打印功能。我们还有CORS问题