我可以将地图保存为PNG图像,但是如何将比例线控件添加到此画布?
// export png
document.getElementById('export-png').addEventListener('click', function() {
map.once('postcompose', function(event) {
var canvasElement = event.context.canvas;
var MIME_TYPE = "image/png";
var imgURL = canvasElement.toDataURL(MIME_TYPE);
var dlLink = document.createElement('a');
dlLink.download = "carte"; //fileName;
dlLink.href = imgURL;
dlLink.dataset.downloadurl = [MIME_TYPE, dlLink.download, dlLink.href].join(':');
document.body.appendChild(dlLink);
dlLink.click();
document.body.removeChild(dlLink);
});
map.renderSync();
});
最佳答案
请注意,在下一个版本中,https://github.com/openlayers/openlayers/blob/master/changelog/upgrade-notes.md OpenLayers将从所有层具有一个画布更改为每个层具有一个画布,这与保存完整地图不兼容。但是,对于5.3及更低版本,ol-ext库包含用于比例尺,属性和标题https://viglino.github.io/ol-ext/examples/canvas/map.canvas.control.html的画布控件。在许多情况下,可以从源代码复制并自定义单个控件的代码,而无需整个库https://viglino.github.io/ol-ext/dist/ol-ext.js
关于javascript - 使用控制比例线保存 map ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54615242/