2017-06-20 151 views
0

我正在开发一个显示我的整个国家的离线地图的android应用程序。我使用osm中生成的离线映射并使用Google协议缓冲区进行压缩,结果是一个带有osm.pbf扩展名的文件。Android Osmdroid:如何使用OSM二进制库实现读取pbf文件的IArchiveFile接口

我的目标是将此文件传递给osmdroid。在我的研究中,我创建了关于该主题的点滴信息。我发现有一个以Java编写的图书馆osm-binary,它读取并解析pbf格式文件的节点,关系和方式。我说,这是方式!

所以,这是我的问题,如何在osmdroid库的IArchiFile接口中使用osm-binary的结果?

回答

1

那么IArchiveFile用于加载来自存档的位图图块。但是你的pbf文件包含原始openstreetmap数据(节点,方式和关系)。所以你需要加载数据并将它们渲染成位图(处理缓存等),这是一项巨大的工作。

您应该渲染服务器上的切片并将它们用作离线来源。请检查文档在这里:https://osmdroid.github.io/osmdroid/Offline-Map-Tiles.html

我一直在使用TileMill样式和渲染我的项目之一的OSM数据。输出可以是xyz.mbiles存档,osmdroid支持这些。但是整个设置是不平凡的(后端用于数据处理和平铺渲染),并且可能有一些不太适合您需要的难度较高的方法。