适用于整个国家的iOS离线地图(OSM)

Tho*_* G. 5 offline vector map openstreetmap ios

我试图准备OSM(*.osm.pbf) - 整个意大利的数据,用于离线使用iPhone-app.我需要从7到16的缩放级别,因为全国各地都有很多POI.

是我的出发点.此解决方案的问题是数据库的文件大小.

是否有针对iOS 6/7的基于矢量的离线地图使用的开源解决方案?或者,是否可以最小化数据库文件大小?

Big*_*Dan 6

我对这个主题进行了广泛的研究,因为我目前的项目需要离线映射功能.

通过向您指出我发现的一些可用的开源工具和项目,我将为您节省大量时间.

OpenStreetPad - https://github.com/beelsebob/OpenStreetPad/

该项目不再维护.但是,它直接从osm.pbf文件读取并成功呈现映射.您将必须管理要映射的区域的大小,因为如果您尝试将整个国家/地区加载到该区域,此实现似乎会挂起并最终崩溃.我使用25mb osm.pbf文件作为洛杉矶地区的一个子集,它运行得很好.我认为渲染引擎需要优化.

Mapsforge移植到iOS - https://github.com/medvedNick/Mapsforge_iOS

这个更快,似乎可以更好地渲染矢量数据.

libosmscout - http://wiki.openstreetmap.org/wiki/Libosmscout

这是一个开源C++库,用于使用矢量地图进行离线渲染和路由.它得到了积极维护(参见他们的邮件列表).我无法在Mac OSX上编译它,但也许你会有更好的运气.似乎是一个功能强大,功能强大且可移植的库.他们已经在Fedora,Moblin,Ubuntu,Debian,Windows,Qt和Mac OSX/iOS上运行它们.

祝好运.如果您使用这些工具取得某种突破,请返回并分享您的结果.我正在研究相同的东西,我可以自己使用指针.


sca*_*cai 3

数据库的大小在很大程度上取决于您要存储的信息。OSM 确实有很多不同的功能,您只需要其中的一小部分。如果您只需要 POI,那么您可以过滤掉所有高速公路、土地利用、湖泊和河流、电力线,也许还有建筑物轮廓。这可以通过删除具有相应标签的所有元素来完成,因此生成的数据库将小得多。osmfilter可能会有所帮助。

iOS 上有很多基于 OSM 的应用程序,其中一些是开源的。还有一个关于矢量切片的wiki 页面。但请记住,图块通常仅代表视觉地图,而不包含有关 POI 或其他功能的信息。