Javascript 使用标记打印谷歌地图

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

我想打印我的网页的一个特定部分,其中包含一些指向某个位置的标记的谷歌地图

问题是我的javascript函数只打印谷歌地图,而不打印标记。但当我使用Ctrl+P打印时,它会使用谷歌地图和标记打印整个页面

我正在使用chrome和firefox浏览器

谁能告诉我出了什么问题。为什么我的功能不是打印标记。 任何帮助都将不胜感激

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这与此类似。当我使用此打印功能时,标记不会出现在纸上。它在屏幕上工作得很好。