Невозможно распечатать карту Google с иконками - PullRequest
0 голосов
/ 07 сентября 2010

Когда я печатаю карту Google;не печатает иконки;Как я могу распечатать полную карту Google Я использую Google Maps API V3 для JavaScript

Ответы [ 3 ]

0 голосов
/ 23 июля 2014

много дней пытались напечатать значки и маршруты, так что наконец я это сделал !!!!!!!!я нашел js скрипт, который конвертирует html в canvas , и я подумал, что это будет решением, но, к сожалению, его не было вообще.браузер, чтобы распечатать страницу, наконец, показать его !!!!но на холсте снова не отображаются значки ¿...?

, поэтому я просто выполнил скрипт при загрузке и добавил результат холст в div за картой (если вы установите display: none donне работает!).извините за мой английский :) здесь немного кода:

<div id="imprimir">
    <h1><?php echo $direccion;?></h1>
    <div id="distancia"></div>
    <div id="map-canvas" style="margin: 0;padding: 0; height: 550px;z-index:10"></div>                          
    <div id="captura" style="position:absolute;top:100px;left:50px;"></div>
</div>
//------------ ... 
Google Map code here
//------------ ...
<script>
    html2canvas($("#imprimir"), {
        onrendered: function(canvas) {
            $("#captura").html(canvas);                                        
        }
    });            
</script>

ну, я надеюсь, это поможет вам !!!

0 голосов
/ 09 декабря 2015
 $("#btnPrint").click(function () {
        var contents = $("#map_canvas").html();
        var frame1 = $('<iframe />');
        frame1[0].name = "frame1";
        frame1.css({ "position": "absolute", "top": "-1000000px" });
        $("body").append(frame1);
        var frameDoc = frame1[0].contentWindow ? frame1[0].contentWindow : frame1[0].contentDocument.document ? frame1[0].contentDocument.document : frame1[0].contentDocument;
        frameDoc.document.open();
        //Create a new HTML document.
        frameDoc.document.write('<html><head><title>DIV Contents</title>');
        frameDoc.document.write('</head><body>');
        //Append the external CSS file.
        frameDoc.document.write('<link href="style.css" rel="stylesheet" type="text/css" />');
        //Append the DIV contents.
        frameDoc.document.write(contents);
        frameDoc.document.write('</body></html>');
        frameDoc.document.close();
        setTimeout(function () {
            window.frames["frame1"].focus();
            window.frames["frame1"].print();
            frame1.remove();
        }, 500);
    });
0 голосов
/ 09 февраля 2011

Есть несколько других вопросов, касающихся этой проблемы: Как напечатать маркеры Google Map

Короче говоря, API Google Maps Javascript не печатает наложения (маркеры, линии) правильно или вообще. Вы можете использовать Статический API Карт Google, но вы будете ограничены количеством наложений, которые вы рисуете на карте. Это, однако, лучший способ получить надежную печать.

Длинные маркеры имеют класс 'gmnoprint', который запрещает их отображение при печати. Вы можете перебирать маркеры и удалять этот класс, что должно позволить им быть напечатанными на странице. Насколько я знаю, это не будет работать для линий направления.

...