如何截取GMaps Frame的屏幕截图并将其转换为Javascript的图像?
How to take a screenshot of GMaps Frame and turn it into an image with Javascript?
我在将 Google 地图帧 转换为 base64 图像时遇到问题,正如您在下方看到的,帧已保存,但地图未在内部显示它。
我想知道为什么它没有进入框架内部。
JSFiddle : http://jsfiddle.net/Lindow/gvy1x7kf/6/
HTML:
<input type="button" id="btnSave" value="Save PNG"/>
<hr>
<div class="elements" id="map"></div>
<div class="elements" id="img-out"></div>
JavaScript:
$(function() {
$("#btnSave").click(function() {
html2canvas($("#map"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
// Convert and download as image
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
// Clean up
//document.body.removeChild(canvas);
}
});
});
});
var map = new GMaps({
div: '#map',
lat: -12.043333,
lng: -77.028333
});
有什么建议吗?
你需要做的是在html2canvas($('#id'), {...});
里面加上useCORS: true,
。
useCORS
有什么用?
跨域资源共享是跨域访问网络资源的标准。
JSFiddle : http://jsfiddle.net/Lindow/60yn2hss/
JavaScript:
$("#btnSave").click(function() {
html2canvas($("#map"), {
useCORS: true, #<--- here
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
$("#img-out").append(canvas);
}
});
});
输出:
我在将 Google 地图帧 转换为 base64 图像时遇到问题,正如您在下方看到的,帧已保存,但地图未在内部显示它。
我想知道为什么它没有进入框架内部。
JSFiddle : http://jsfiddle.net/Lindow/gvy1x7kf/6/
HTML:
<input type="button" id="btnSave" value="Save PNG"/>
<hr>
<div class="elements" id="map"></div>
<div class="elements" id="img-out"></div>
JavaScript:
$(function() {
$("#btnSave").click(function() {
html2canvas($("#map"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
// Convert and download as image
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
// Clean up
//document.body.removeChild(canvas);
}
});
});
});
var map = new GMaps({
div: '#map',
lat: -12.043333,
lng: -77.028333
});
有什么建议吗?
你需要做的是在html2canvas($('#id'), {...});
里面加上useCORS: true,
。
useCORS
有什么用?
跨域资源共享是跨域访问网络资源的标准。
JSFiddle : http://jsfiddle.net/Lindow/60yn2hss/
JavaScript:
$("#btnSave").click(function() {
html2canvas($("#map"), {
useCORS: true, #<--- here
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
$("#img-out").append(canvas);
}
});
});
输出: