使用控制比例尺线保存地图
我可以将地图保存为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();
});
OpenLayers
请注意,在下一个版本中https://github.com/openlayers/openlayers/blob/master/changelog/upgrade-notes.md推荐答案将从针对所有层的单一画布更改为针对每个层的画布,这将与保存完整地图不兼容。但是,对于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
相关文章