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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leaflet-Image()和Leaflet.print()不起作用相关的知识,希望对你有一定的参考价值。

我正在尝试在线访问地图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);

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

答案

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

谢谢您的帮助 !

以上是关于Leaflet-Image()和Leaflet.print()不起作用的主要内容,如果未能解决你的问题,请参考以下文章

第三十一节:扫盲并发和并行同步和异步进程和线程阻塞和非阻塞响应和吞吐等

shell中$()和 ` `${}${!}${#}$[] 和$(()),[ ] 和(( ))和 [[ ]]

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()

malloc和free,brk和sbrk和mmap和munmap的使用和关系以及内存分配的原理