传单+本地.osm文件

Leaflet + local .osm file

我一直在使用 leaflet.js 渲染地图,就像 leaflet getting started page 中所示:

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { ...

我已经从 openstreetmap 下载了一个 .osm 文件 (map.osm),我正在想办法从传单中使用这个文件,例如:

L.tileLayer('file:///./map.osm/{z}/{x}/{y}.png/{z}/{x}/{y}.png', { ...

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

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

有什么办法吗?我需要转换这个 .osm 文件吗?

感谢大家的宝贵时间。

你不能。 Leaflet 需要 raster tiles whereas a .osm (or .pbf) file contains raw vector data. In order to produce raster tiles out of vector data you have to render 它。这不能直接由 Leaflet 完成,而是需要外部工具。

可以在本地渲染图块,例如使用 Maperitive or TileMill. You might need another step for extracting individual tiles from the produced MBTiles