Javascript 使用标记打印谷歌地图
我想打印我的网页的一个特定部分,其中包含一些指向某个位置的标记的谷歌地图 问题是我的javascript函数只打印谷歌地图,而不打印标记。但当我使用Ctrl+P打印时,它会使用谷歌地图和标记打印整个页面 我正在使用chrome和firefox浏览器 谁能告诉我出了什么问题。为什么我的功能不是打印标记。 任何帮助都将不胜感激Javascript 使用标记打印谷歌地图,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我想打印我的网页的一个特定部分,其中包含一些指向某个位置的标记的谷歌地图 问题是我的javascript函数只打印谷歌地图,而不打印标记。但当我使用Ctrl+P打印时,它会使用谷歌地图和标记打印整个页面 我正在使用chrome和firefox浏览器 谁能告诉我出了什么问题。为什么我的功能不是打印标记。 任何帮助都将不胜感激 function printDiv(firstDivId, secondDivId, thirdDivId) { /* Creating iframe for pr
function printDiv(firstDivId, secondDivId, thirdDivId)
{
/* Creating iframe for printing */
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("name", "print_frame");
ifrm.setAttribute("id", "print_frame_id");
ifrm.setAttribute("src", "#");
ifrm.setAttribute("frameborder", 0);
ifrm.style.width = 0 + "px";
ifrm.style.height = 0 + "px";
document.body.appendChild(ifrm);
/* Creating printableDiv for gethering content divs */
printableDiv = document.createElement("div");
printableDiv.setAttribute("id", "printableDivId");
document.body.appendChild(printableDiv);
/* Creating printableDiv for chart title css */
var titleDiv = document.createElement("div");
titleDiv.setAttribute("id", "titleDiv");
titleDiv.setAttribute("style",
"width:96%;text-align:center;background-color:rgb(255, 238, 182);border-top: 1px solid orange;border-bottom: 1px solid orange;font-size: 16px;font-family: Calibri;border-right: 0px;border-left: 0px;margin-left: 18px;font-weight: bold;");
document.getElementById("printableDivId").appendChild(titleDiv);
document.getElementById("titleDiv").innerHTML = $("#" + firstDivId).html();
$("#" + secondDivId).clone().appendTo("#printableDivId"); **This second div contains the google maps.**
if (thirdDivId != '') {
$("#" + thirdDivId).clone().appendTo("#printableDivId");
}
// For Landscape style
var styleStr = '<style type="text/css" media="print"> @media print{@page {size: landscape}} </style>';
// With Landscape, It is working in chrome not in firefox.
var printingContent = styleStr+ document.getElementById("printableDivId").innerHTML;
// Without Landscape
// var printingContent=document.getElementById("printableDivId").innerHTML;
window.frames["print_frame"].document.body.innerHTML = printingContent;
window.frames["print_frame"].window.focus();
window.frames["print_frame"].window.print();
/* Removing printableDiv and iframe for next time printing */
$("#printableDivId").remove();
$("#print_frame_id").remove();
}
函数printDiv(firstDivId、secondDivId、thirdDivId)
{
/*创建用于打印的iframe*/
ifrm=document.createElement(“IFRAME”);
ifrm.setAttribute(“名称”、“打印框”);
ifrm.setAttribute(“id”、“打印帧id”);
ifrm.setAttribute(“src”,“#”);
ifrm.setAttribute(“frameborder”,0);
ifrm.style.width=0+“px”;
ifrm.style.height=0+“px”;
文件.body.appendChild(ifrm);
/*为获取内容div创建可打印div*/
printableDiv=document.createElement(“div”);
printableDiv.setAttribute(“id”,“printableDivId”);
document.body.appendChild(可打印div);
/*为图表标题css创建可打印div*/
var titleDiv=document.createElement(“div”);
titleDiv.setAttribute(“id”、“titleDiv”);
titleDiv.setAttribute(“样式”,
“宽度:96%;文本对齐:居中;背景颜色:rgb(255238182);边框顶部:1px纯橙色;边框底部:1px纯橙色;字体大小:16px;字体系列:Calibri;边框右侧:0px;边框左侧:0px;边框左侧:18px;字体重量:粗体;”;
文件.getElementById(“printableDivId”).appendChild(标题IV);
document.getElementById(“titleDiv”).innerHTML=$(“#”+firstDivId.html();
$(“#”+secondDivId).clone().appendTo(“#printableDivId”);**第二个div包含谷歌地图**
如果(第三个视频!=''){
$(“#”+thirdvid.clone().appendTo(“#printableDivId”);
}
//景观风格
var styleStr='@media print{@page{size:scape}}';
//对于景观,它是在chrome中工作,而不是在firefox中。
var printingContent=styleStr+document.getElementById(“printableDivId”).innerHTML;
//没有风景
//var printingContent=document.getElementById(“printableDivId”).innerHTML;
window.frames[“print_frame”].document.body.innerHTML=打印内容;
window.frames[“print_frame”].window.focus();
window.frames[“print_frame”].window.print();
/*删除printableDiv和iframe以便下次打印*/
$(“#printableDivId”).remove();
$(“#打印#帧#id”).remove();
}
Read这与此类似。当我使用此打印功能时,标记不会出现在纸上。它在屏幕上工作得很好。