Печать карты из карт Google без элементов управления - PullRequest
1 голос
/ 19 января 2011

Я использую Google Map API v2. Когда я иду на печать карты, элементы управления отображаются на распечатке. Как настроить GLargeMapControl и GMapTypeControl так, чтобы они не печатались?

Я видел в API, что есть конструктор GControl Printable, но не могу найти информацию о его использовании.

Я пытался использовать эти 2 функции:

функция Clickheretoprint () { var disp_setting = "панель инструментов = нет, местоположение = нет, каталоги = нет, меню = нет,"; disp_setting + = "скроллбары = нет, ширина = 650, высота = 600, слева = 100, сверху = 25 "; var content_vlue = document.getElementById ("gm"). innerHTML;

var docprint=window.open("","",disp_setting);

docprint.document.open();
docprint.document.write('<html><head><title>Inel

Power System ');

docprint.document.write('</head><body

class = "gmnoprint print" OnLoad = "window.print (); window.close ()"> '); docprint.document.write (content_vlue); docprint.document.write ( ''); docprint.document.close (); docprint.focus (); }

и

function ClickHereToPrint () {try {

  var oIframe =

document.getElementById ( 'ifrmPrint'); var oContent = document.getElementById ( 'г') innerHTML. var oDoc = (oIframe.contentWindow || oIframe.contentDocument); если (oDoc.document) oDoc = oDoc.document; oDoc.write ( "название"); oDoc.write ( ""); oDoc.write (oContent + ""); oDoc.close (); }

задвижка (е) {

  self.print();

}

}

На странице HTML у меня есть:

var lat, lon, init_zoom; широта = 44,9647979303; Ион = -99,84375; init_zoom = 3;
Google Maps Print test

<script type="text/javascript" src="mapscripts.js"></script> </head>

Печать

            <div id="bottomDiv" class="clsBottomDiv" align="left">
                <table>
                    <tr>
                        <td>
                            Search for Address:
                          <form onSubmit="return Geocode()">
                            <input id="search" type="text" size="60"

/>

                    </tr>
                </table>
            </div>

        </td>
    </tr>
</table> </div> </body> </html>

Я попытался дать iframe класс gmnoprint, но безуспешно.

1 Ответ

0 голосов
/ 19 января 2011

Просто используйте таблицу стилей печати:)

Вы можете прочитать все об этом здесь

Google уже упростил вам задачу, просто нацельтесь на класс 'gmnoprint'и вы можете избавиться от всего этого:)

Если вам не нужна дополнительная таблица стилей для печати, вы можете просто добавить это правило в существующую таблицу стилей:

@media print {
   .gmnoprint {display: none;}
}

или встроить егона вашей странице:

<style>
@media print {
   .gmnoprint {display: none;}
}
</style>
...