2011-05-04 71 views
7

.osm XML数据我一直在使用谷歌地图,以显示与兴趣点一个城市的iOS应用。现在我想提供一个离线地图,用户不需要显示数据连接。使用OpenStreetMap的iOS中

我检查了OpenStreetMap项目,而这个城市的.osm导出是5MB - 完美适用于iOS应用程序。我还检查了routeme库,但只使用了tile,并且没有生成矢量数据。它是否正确? PNG图块的文件大小对我的应用来说太大了。

哪个库有意义的显示OSM-XML数据?我知道有cloudmade,但这是正确的决定吗?我对他们的许可模式有点困惑。还有其他建议吗?提示?

+6

你最终使用了哪个库?我也在寻找相同的信息。 – Julian 2012-01-13 13:56:25

回答

0

路线,我只呈现瓷砖数据,而不是矢量数据。

Cloudmade没有直接下线库,你必须推出自己的。 http://support.cloudmade.com/answers/offline-maps

我还没有看到有任何开源的矢量地图渲染器,但谷歌搜索显示一个或两个封闭的源渲染器。

0

渲染引擎OSM数据的列表,请参阅http://wiki.openstreetmap.org/wiki/Rendering(声明:我是其中之一的作者)。有些是开源的;一些(例如,我的)免费用于非商业用途,但是是封闭的。

您可以尝试使用Mapnik,一个开源库,但OSM页面表示很难设置。这里有一个适用于iOS的Mapnik视图控制器:https://gist.github.com/2934223

任何C或C++代码,你会发现那里当然也可以在iOS中使用,因为C和C++与Objective C的兼容;我发现将可移植的C++代码绑定到iOS应用程序中相对容易。

1

尝试基于OSM的skobbler/telenav的sdk:http://developer.skobbler.com。 你有离线地图(小矢量地图),自定义POI和可配置的样式 - 它应该涵盖您的需求。

而且免费层应该足以让你启动你的应用程序,并获得一些用户,直到你必须付费。