Leaflet-Image()和Leaflet.print()不起作用

问题描述 投票:2回答:1

我正在尝试在线访问地图webservice。我想将地图导出为png ou jpg图像。

我设法用OSM显示在线地图。我按照说明here。下一步是将地图保存或导出到图像中。我找到了thisthis,我试过了两个。

没必要说,它不起作用。事实上,我认为问题来自于我,我认为我没有正确理解如何使用这些功能。

关于Leaflet-Image(),我尝试了以下代码:

leafletImage(map, function(err, canvas) {
// now you have canvas
// example thing to do with that canvas:
var img = document.createElement('img');
var dimensions = map.getSize();

console.log('dimensions :');
console.log(dimensions);

img.width = dimensions.x;
img.height = dimensions.y;
img.src = canvas.toDataURL();
document.getElementById('images').innerHTML = '';
document.getElementById('images').appendChild(img);});

我得到了这个错误:

leaflet-image.js:87 Uncaught TypeError: layer._adjustTilePoint is not a function

代码对我来说很奇怪。我的目标是在我希望的文件夹中将地图导出为图像。但我不提供文件路径或文件名...

关于leaflet.print(),我试过这个:

var printProvider = L.print.provider({
method: 'GET',

outputFormat : '.png',
outputFilename: 'Desktop/carte',
autoLoad: true,
dpi: 90

});

var printControl = L.control.print({
   provider: printProvider
});        
map.addControl(printControl);

老实说,我完全迷失在这里。因此,如果有人有想法或可以向我解释这是如何工作的,那将是一个很大的帮助。

javascript node.js leaflet openstreetmap
1个回答
0
投票

最后,我设法使用其在线路径(http // ...)访问图像。根据来源,可能会导致访问问题,但它可以与在线地图服务和提供的密钥一起使用。我根本不使用传单。

谢谢您的帮助 !

© www.soinside.com 2019 - 2024. All rights reserved.