javascript - 传单+本地.osm文件

标签 javascript leaflet openstreetmap

我一直在使用 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 ,例如使用 MaperitiveTileMill .您可能需要另一个步骤来从生成的 MBTiles 中提取单个图 block .

关于javascript - 传单+本地.osm文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30863546/

相关文章:

javascript - 如何在 <textarea> 中显示不可见字符

JavaScript - Jest/mock 中的模拟控制台 "was not called"

jquery - 在调整传单 map 的高度时在 Bootstrap 4 中显示/隐藏 div

google-maps - OSM 到谷歌地图多边形

javascript - 解析组合表情符号

javascript - 使用正交相机将鼠标点击转换为 3D 空间

angular - 未找到传单 map 容器

javascript - 草皮缓冲区传单geojson ajax

algorithm - 如何使用 OSRM 计算单源最短路径?

android - 替换谷歌地图以打开街道 map