Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何在“中查看谷歌地图”;“打印”;模式_Css_Google Maps - Fatal编程技术网

Css 如何在“中查看谷歌地图”;“打印”;模式

Css 如何在“中查看谷歌地图”;“打印”;模式,css,google-maps,Css,Google Maps,我使用的是谷歌地图API v2,我希望能够像谷歌在地图页面上一样打印地图 你可以点击小打印机图标,它会创建一个新的弹出窗口,上面有相同的地图,但是所有不可打印的东西(比如控件)都会被取出。 我知道,当您在导航器中点击“打印预览”或“打印”时,他们使用@media print来实现这种效果。但是,弹出窗口未处于打印模式 有没有什么方法可以实现他们正在做的魔术,比如将当前媒体类型设置为“打印”?或者他们作弊并设置自定义CSS样式的作弊 我在同一个页面上有一个Silverlight插件和一个Googl

我使用的是谷歌地图API v2,我希望能够像谷歌在地图页面上一样打印地图

你可以点击小打印机图标,它会创建一个新的弹出窗口,上面有相同的地图,但是所有不可打印的东西(比如控件)都会被取出。 我知道,当您在导航器中点击“打印预览”或“打印”时,他们使用
@media print
来实现这种效果。但是,弹出窗口未处于打印模式

有没有什么方法可以实现他们正在做的魔术,比如将当前媒体类型设置为“打印”?或者他们作弊并设置自定义CSS样式的作弊

我在同一个页面上有一个Silverlight插件和一个Google地图,我希望能够创建一个弹出窗口,其中只包含准备打印的地图(就像Google正在做的那样)

由于我知道如何获取HTML内容,但我只能获取包含所有控件等的内容(我不想要)


任何帮助都将不胜感激。

谷歌地图在所有他们不想打印的元素上放置一个类
gmnoprint
。。因此,在打印css文件或弹出窗口中将其设置为
display:none
,将隐藏它们

.gmnoprint{
  display:none;
}

当然,这将隐藏谷歌认为不适合打印的内容。。如果要选择其他项目,您必须以某种方式解析它们的html代码:(

另一种打印google地图的有用方法是使用。您可以根据一系列显示参数(位置、缩放级别、大小、标记等)生成静态图像。)并将该图像包含在打印视图页面中。

我对通过kml添加的自定义地图图像覆盖也有同样的问题。Gaby对gmnoprint类的了解是关键。在我的例子中,应用了gmnoprint类的div是正在消失的img元素的直接父元素。我基本上创建了一个“使覆盖可打印链接”:


经过测试并在Safari、FF和Chrome中工作。

是的,我在IE中使用开发工具时终于注意到了这一点。我添加了样式,它的工作原理与预期一样:)谢谢你的帮助,这是我所需要的部分。它显示了地图,但上面的多段线仍然隐藏着,关于如何显示这些多段线有什么想法吗?这不是我的选择。我在地图上有大量自定义覆盖图,我不太想复制创建逻辑,以便在我有一个完美的地图图像时能够打印出来方便。很公平:P…静态API的一个限制是你不能做所有的自定义标记等…所以如果你有很多覆盖,这对你来说并不合适。+1关于这个问题:)
    $("#printable-map").click(function() {
        if($(this).text() == "Include overlay when printing") {
            $(this).text("Exclude overlay when printing");
            $("[src$=blah.png]").parent().removeClass("gmnoprint");
        } else {
            $(this).text("Include overlay when printing");
            $("[src$=blah.png]").parent().addClass("gmnoprint");
        }
    });