javascript - 谷歌地图内容在 window.print() 上不可见

标签 javascript google-maps

我想在用户点击打印按钮时打印谷歌地图。我正在使用 window.print() 来打印页面。从我所做的一项研究来看,大多数示例都是对 map 进行快照并仅在另一页上打印 map 。正如您在我附上的图片中看到的那样,它显示了 Google Logo 图钉而不是 map 。我添加了 display:block !important 但仍未显示打印的 map 。有谁知道我如何打印包括其他详细信息的 map 。 enter image description here

谢谢

最佳答案

因此,您需要在我在上面的评论中给出的答案中操纵 javascript,以便包含其他内容。 这是一个工作示例。

function printMaps() {
  var body               = $('body');
  var appendMap          = $('#before_map');
  var prependMap         = $('#after_map');
  var mapContainer       = $('.map-container');
  var printContainer     = $('<div>');

  printContainer
    .prepend(appendMap)
    .addClass('print-container')
    .css('position', 'relative')
    .height(mapContainer.height())
    .append(mapContainer)
    .append(prependMap)
    .prependTo(body);


  // Patch for some Bootstrap 3.3.x `@media print` styles. :|
  var patchedStyle = $('<style>')
    .attr('media', 'print')
    .text('img { max-width: none !important; }' +
          'a[href]:after { content: ""; }')
    .appendTo('head');

  window.print();

});

完整的 fiddle 在这里: http://jsfiddle.net/6mx21ted/141/

它基于答案 Google Maps API V3 Printing Maps

关于javascript - 谷歌地图内容在 window.print() 上不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37676498/

相关文章:

for循环期间的Javascript关联数组修改

javascript - 如何在React js中进行多个检查选项?

javascript - 当标记位于打开的信息框后面时 - 使用 InfoBox 插件 Google Maps API v3 事件鼠标悬停

机器人:实现谷歌地图

javascript - 如何使用 Bootstrap-carousel lazy Multiple image SLide loader?

javascript - SetInterval 函数中的这个递归调用是如何工作的?

javascript - 点击后隐藏div

java - Geocoder.getFromLocationName 方法出错

javascript - 从谷歌地图中删除折线

google-maps - Google Maps API V3 - 向所有标记添加事件监听器?