2013-04-04 2 views
4

У меня есть карта google на моем webapp - работа с JavaScript API V3. Я предоставляю своим пользователям возможность управлять некоторыми маршрутами, используя маршруты карты Google. Теперь моя проблема в том, что я хочу дать им возможность распечатать его (просто карту, а не весь сайт).Распечатать карту google с указаниями по ней

Я попытался следующие:

var OpenWindow = window.open("_blank", "", ''); 
var contents = document.getElementById("mapMainCanvas"); 
OpenWindow.document.write(contents.innerHTML); 

Это действительно открыть новую вкладку с картой, но без направлений. Кроме того, я не смог найти какой-либо вариант «печати» в API. Решает ли кто-нибудь эту проблему?

Спасибо.

ответ

4

Попробуйте это:

var content = document.getElementByID('mapMainCanvas'); //has to be first. 
var win = window.open(); 
win.document.write(content); 
win.print(); 
win.close(); 

Я надеюсь, что это будет работать!

(Пожалуйста, дайте мне знать, если это делает или нет.)

+0

Извините, но это не сработало, но я думаю, что проблема в другом месте в моем коде. Будет обновляться. – Asaf

+0

Проверьте, используете ли вы mapCanvas, map_canvas, mapMainCanvas или map_main_canvas. Проблема может быть там. – Jaapyse

+0

Что это значит? мой div id - mapCanvas. это проблематично? – Asaf

0

Не могли бы вы создать таблицу стилей печати и использовать CSS, чтобы он только распечатывал карту, скрывая все остальное? Возможно, вам придется играть в классы с помощью jQuery/other, если вы хотите, чтобы пользователи могли печатать эту страницу как обычно.

Инструкции по печати, начиная с таблицы стилей можно найти здесь: http://coding.smashingmagazine.com/2011/11/24/how-to-set-up-a-print-style-sheet/

Смежные вопросы