宣传单+本地.osm文件

Gar*_*cía 6 javascript openstreetmap leaflet

我一直在使用leaflet.js来渲染地图,就像它在传单开始页面中所示:

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { ...
Run Code Online (Sandbox Code Playgroud)

我从openstreetmap下载了一个.osm文件(map.osm),我正在试图弄清楚如何从传单中使用这个文件:

L.tileLayer('file:///./map.osm/{z}/{x}/{y}.png/{z}/{x}/{y}.png', { ...
Run Code Online (Sandbox Code Playgroud)

在其他情况下,我使用Mobile atlas creator下载地图图层并在传单中使用它们.它在目录结构中下载选定的地图,如zoom-x-y .png文件(如:file_system\local_maps_dir\13\4049\2999.png,其中13是缩放范围4049和经度2999).

但现在我需要加载或使用带有传单的这些.osm文件.

有没有办法做到这一点?我需要转换这个.osm文件吗?

谢谢大家的时间.

sca*_*cai 6

你不能 传单需要栅格图块,而.osm(或.pbf)文件包含原始矢量数据。为了从矢量数据中生成栅格图块,您必须对其进行渲染。Leaflet无法直接完成此操作,而是需要外部工具。

例如,可以使用MaperitiveTileMill在本地渲染图块。您可能还需要另一个步骤来从产生的MBTiles中提取单个图块。