我一直在使用 leaflet.js 渲染 map ,如 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下载 map 图层并在传单中使用它们。它以 zoom - x - y .png 文件等目录结构下载选定的 map (如:file_system\local_maps_dir\13\4049\2999.png,其中 13 是缩放纬度 4049 和经度 2999)。
但现在我需要用传单加载或使用这些 .osm 文件。
有什么办法吗?我需要转换这个 .osm 文件吗?
感谢大家的宝贵时间。
最佳答案
你不能。传单需要光栅 tiles而 .osm(或 .pbf)文件包含原始矢量数据。为了从矢量数据中生成栅格图 block ,您必须 render它。这不能通过 Leaflet 直接完成,而是需要外部工具。
可以在本地渲染图 block ,例如使用 Maperitive或 TileMill .您可能需要另一个步骤来从生成的 MBTiles 中提取单个图 block .
关于javascript - 传单+本地.osm文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30863546/