【发布时间】:2013-12-06 09:09:06
【问题描述】:
我的网站上有一个 div,我在其中创建了 GoogleMap。我添加了标记并实现了 MarkerCluster。
我想让用户在任何缩放或移动(包括标记)之后单击按钮并下载当前查看的地图的图像:
我尝试使用 html2canvas,但根本不起作用。
在过去一小时搜索如何执行此操作后,我想出绝对没有任何用处。
这甚至可以捕获用户看到的 div 吗?还是创建静态谷歌地图并保存图像是唯一的方法?
解决方案
最后我选择了 PhantomJS。我创建了一个地图视图,它通过查询字符串接受输入,并使用该数据向地图添加标记。然后我使用 PhantomJS 从地图视图中截取屏幕截图。然后我将截图图像输出为 Base64 字符串。
【问题讨论】:
-
看看code.google.com/p/snapshotcontrol。如果地图上没有很多图层并且没有绘制大量数据,它可能会解决您的问题。其他选项可以使用 phantomjs,但这需要额外的努力。
标签: javascript jquery image google-maps google-maps-api-3