2012-03-03 100 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