2012-03-03 73 views
1

我在打印贴图Gmap V3时遇到了问题。 按下按钮即可完成打印。代码如下:打印时不显示Gmap标记

function Print() { 
        text = document.getElementById('mapCanvas').innerHTML; 
        //mapCanvas is div whith map 
        printwin = open('', 'printwin', 'width=545,height=446'); 
        printwin.document.open(); 
        printwin.document.writeln('<html><head><title></title></head><body onload=print();close()>'); 
        printwin.document.writeln(text); 
        printwin.document.writeln('</body></html>'); 
        printwin.document.close(); 
       } 

在地图上使用自定义标记。打印时,它们不会出现,并且如果通过标准打印此页面,则表示一切正常。

有人遇到过这个问题吗?

P.S.对不起,英文不好。 :)

回答

2

标记不包含在divinnerHTML中。相反,它们覆盖在地图上。问题不在于无法打印标记,而只是将地图复制到新窗口中,而不是标记本身。

要解决您的问题,您必须在您的新html文档中包含超过mapCanvas div的innerHTML。还包括javascript以及将标记放置在地图上的代码。另一方面,我认为你应该尝试有一个不同的CSS文件进行打印,它隐藏了你不想在打印时显示的内容,同时允许显示你的地图和标记。

做到这一点在CSS中使用这样的:

@media print { 
    /* style sheet for print goes here */ 
} 
+0

谢谢您的帮助。我通过使用CSS解决了这个问题(尽管我们应该承认这不是最好的解决方案) – 2012-03-03 11:53:53