【问题标题】:How to print Google Map markers如何打印谷歌地图标记
【发布时间】:2011-04-13 10:42:00
【问题描述】:

我正在使用 Google Map Version 3 API 在 Google Map 上添加标记。

问题是,标记会出现在浏览器上。
但是当用户通过浏览器的打印命令打印地图时,什么都没有显示出来。

问题是, - 如何在印刷材料上显示标记? -

比较

  • 在浏览器上 - 标记清晰可见

  • 打印后(IE7、IE8)- 不打印标记(在纸上或 PDF 上)

  • 打印后 (FireFox 3.5.4) - 只打印标记

【问题讨论】:

  • @hsz:结果相同。由于默认不起作用,我尝试了自定义标记
  • 您是否尝试在其他浏览器中打印?
  • @hsz:在 FF 3.5.4 上,只打印标记...
  • 它们不打印的原因是标记是带有background-image:url('your_marker'); 的 div 元素 - 您/您的用户已关闭背景图像打印。自己寻找解决方案。

标签: google-maps printing google-maps-api-3


【解决方案1】:

我建议你试试Static Maps API。您可以构建将返回静态图像的url(您可以将自定义标记构建到 URL 中)。

与使用动态 Google 地图相比,浏览器在打印图像方面的表现要好得多。

【讨论】:

  • 很遗憾,当我构建静态地图URL时,URL变得太长而无法处理。
  • 那很不幸。静态地图的最大 URL 长度为 2048 个字符。文档提到您应该检查您是否正确编码了 URL。 code.google.com/apis/maps/documentation/webservices/… 也许值得一试。祝你好运。
【解决方案2】:

我可以通过使用MarkerWithLabel 代替 Google 的 Marker 类来打印标记,该类使用图像代替画布。

【讨论】:

    【解决方案3】:

    在我的打印对话框中有一个“打印背景图像”复选框。当我启用它时,会打印标记。这个链接可以帮助你:How can I force browsers to print background images in CSS?

    【讨论】:

      【解决方案4】:

      打印标记没有问题。 我创建了自己的标记,并使用<IMG> 标签将标记图标粘贴在其中。

      在默认设置下,IE 8 上的标记打印正常。

      【讨论】:

      • 由于打印问题,我放弃了谷歌地图而不是 Bing 地图(silverlight 版),效果非常好
      • 我试过这个但没有用。能否附上代码示例?
      【解决方案5】:

      请找到下面给出的链接:

      https://gist.github.com/jawsthegame/6801698

      使用它,您将能够打印带有自定义标记的 Google 地图。

      您只需在第 17 行进行更改。 替换 container.clone();用 $(container).clone();

      【讨论】:

      • 您能否介绍一下如何使用它?