我目前正在开发需要离线处理地图的应用程序。 我基本上遵循了本教程:
http://blog.davidelner.com/create-map-with-tilemill-and-leaflet/
我在此处创建了所需区域的mbtiles文件:
https://openmaptiles.com/extracts/#bounds=-83.84455,42.19104,-83.59049,42.35465
我将文件另存为michigan.mbtiles,然后运行以下命令来创建png图像:
mb-util --image_format = png michigan.mbtiles密歇根州
最后在javascript文件中,我拥有了
var map = L.map('map').setView([42.26, -83.72], 5);
L.tileLayer('assets/Michigan/{z}/{x}/{y}.png', {
maxZoom: 14
}).addTo(map);
如果有任何区别,我正在使用角度6。但是我的资产文件夹中有密歇根文件夹,我正在尝试从目录中制作地图。
如果我将L.tileLayer更改为我在网上看到的任何演示代码,都会显示地图,所以我在想我制作png的方式是否有问题(如果我打开它们,我什么也看不到,但我不确定这是错的,因为这是我第一次尝试做这样的事情。)
或者相对路径存在问题,由于某种原因我无法弄清楚。
感谢您的帮助。
答案 0 :(得分:0)
我发现,将mb-util与openmaptiles一起使用时,从它们那里获取的mbtiles文件不包含所需的数据。例如,如果您通过tilemill创建地图,然后在该mbtiles文件上使用了mb-util,则提取的文件将为png。由于某种原因,openmaptiles不包含其mbtiles文件中的任何内容。