打印谷歌地图v3

时间:2011-07-28 14:36:20

标签: printing google-maps-api-3 window.opener

我正在尝试创建一个按钮,用于打印嵌入在网页上的Google地图

见代码:

function print(){


var contents = window.opener.document.getElementById("map_canvas"); 
document.write(contents.innerHTML); 
window.print(); 

}

这是包含我的地图的div

<div id="map_canvas" style="width:800px; height:500px;"></div>  

这是打印按钮

<input type="button" value="Print" onclick="print()">

当我单击打印按钮时,出现错误“window.opener为null”。 打印地图的正确代码是什么?

3 个答案:

答案 0 :(得分:0)

window.opener返回对创建窗口的窗口的引用。由于您没有创建任何新窗口,因此此处不需要window.opener。

直接使用window.document.getElementById。

试试这个:

function print(){
    var contents = window.document.getElementById("map_canvas"); 
    document.write(contents.innerHTML); 
    window.print(); 
    }

答案 1 :(得分:0)

var content = window.document.getElementById("map-canvas"); // get you map details
var newWindow = window.open(); // open a new window
newWindow.document.write(content.innerHTML); // write the map into the new window
newWindow.print(); // print the new window

答案 2 :(得分:-1)

检查主窗口上包含地图的DIV是否具有id =“map_canvas”的div