按父页面打印地图,其中包含iframe内的路径和路径

时间:2016-03-09 04:53:29

标签: javascript jquery html google-maps iframe

在我的项目中,谷歌地图有路线和路径。我需要用它们打印地图。此页面由其父页面作为iframe调用。我必须在父页面中调用print方法。注意:此iframe中的地图以外的内容不多。这是我到目前为止打印地图的方法

document.write(
  '123,234,"1,234.50",345,456'.replace(/,"(.+?)",/g, (m, m1) => ',' + m1.replace(/,/g, '') + ',')
)

这是地图iframe的代码

<script type="text/javascript">
function printWin(){

    var iframe=document.getElementById('iframe');
    var innerdoc=iframe.contentDocument || iframe.contentWindow.document;
    var mapdiv=innerdoc.getElementById('gmap');
    if(mapdiv === null){
        window.print();
    }else{
var isVisisble = $('#iframe').contents().find('#gmap').is(':visible');

if(isVisisble){
    var win=window.open();
        win.document.write(mapdiv.innerHTML);
        win.print();
        win.close();    
}else{
    window.print();
}
    }
}
</script>

此地图由同一页面内的$ .post请求生成。当我在上面使用printWin()函数时,只打印没有路径和路径的地图。如果我在父页面中只使用<div id="map"> <div style="margin-left: 50px;" id="gmap"><p>Please wait...</p></div> </div> </div> ,我只能打印没有地图的路线和路径。

我试图在这个iframe中创建print方法,并通过父页面调用它。但它对我不起作用。

我已经看到了相关的问题,虽然我的情况不同。我试过了。任何线索或参考将是欣赏。

更新:我为@media print

添加了单独的样式表
window.print()

但我仍然只得到没有标记的地图。

1 个答案:

答案 0 :(得分:0)

相关问题