使用leaflet.js和本地目录中的文件创建地图时出现问题。

时间:2018-09-27 19:37:33

标签: angular leaflet maps mbtiles

我目前正在开发需要离线处理地图的应用程序。 我基本上遵循了本教程:

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的方式是否有问题(如果我打开它们,我什么也看不到,但我不确定这是错的,因为这是我第一次尝试做这样的事情。)

或者相对路径存在问题,由于某种原因我无法弄清楚。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我发现,将mb-util与openmaptiles一起使用时,从它们那里获取的mbtiles文件不包含所需的数据。例如,如果您通过tilemill创建地图,然后在该mbtiles文件上使用了mb-util,则提取的文件将为png。由于某种原因,openmaptiles不包含其mbtiles文件中的任何内容。