Javascript 打印带有方向的谷歌地图

Javascript 打印带有方向的谷歌地图,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我的webapp上有谷歌地图——使用JavaScript API V3。 我让我的用户能够管理一些路线,使用谷歌地图的方向。 现在,我的问题是,我想让他们能够打印它(只是地图,而不是整个网站) 我尝试了以下方法: var OpenWindow = window.open("_blank", "", ''); var contents = document.getElementById("mapMainCanvas"); OpenWindow.document.write(contents.inn

我的webapp上有谷歌地图——使用JavaScript API V3。 我让我的用户能够管理一些路线,使用谷歌地图的方向。 现在,我的问题是,我想让他们能够打印它(只是地图,而不是整个网站)

我尝试了以下方法:

var OpenWindow = window.open("_blank", "", '');
var contents = document.getElementById("mapMainCanvas");
OpenWindow.document.write(contents.innerHTML);
这确实打开了一个带有地图的新选项卡,但没有方向。 此外,我在API中找不到任何“打印”选项。 有人解决了这个问题吗


谢谢。

您是否可以创建一个打印样式表,并通过隐藏其他所有内容,使用CSS使其仅打印地图?如果希望用户能够正常打印该页面,可能需要使用jQuery/other来处理类

有关从打印样式表开始的说明,请参见此处:

尝试以下操作:

var content = document.getElementByID('mapMainCanvas'); //has to be first.
var win = window.open();
win.document.write(content);
win.print();
win.close();
我希望它能起作用


(请告诉我是否有效。)

很抱歉,它不起作用,但我认为问题在我的代码中的不同位置。将更新。检查您是否使用过mapCanvas、map_canvas、mapMainCanvas或map_main_canvas。问题可能就在那里,你什么意思?我的分区id是mapCanvas。这是有问题的吗?如果你说你的div是mapCanvas,那么我知道你的问题是什么:在JavaScript中,你指的是
mapMainCanvas
,而不是
mapCanvas
!让html中的div具有与JS中相同的id,我认为它会起作用!这个解决方案对我有效。正如Jaapyse所指出的,您必须确保您拥有正确的方向分区ID。