【问题标题】:Using OpenStreetMap .osm XML data in iOS在 iOS 中使用 OpenStreetMap .osm XML 数据
【发布时间】:2011-05-04 17:07:10
【问题描述】:

我有一个 iOS 应用,它使用 Google 地图显示带有兴趣点的城市。现在我也想提供一个离线地图,用户不需要数据连接即可显示。

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

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

【问题讨论】:

  • 你最终使用了哪个库?我也在寻找相同的信息。

标签: xml ios openstreetmap cloudmade route-me


【解决方案1】:

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

免费套餐应该足以让您启动应用并获得几个用户,直到您不得不付费为止。

【讨论】:

    【解决方案2】:

    Route-me 只渲染图块数据,不渲染矢量数据。

    Cloudmade 没有直接的离线库,您必须自己滚动。 http://support.cloudmade.com/answers/offline-maps

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

    【讨论】:

      【解决方案3】:

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

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

      您在其中找到的任何 C 或 C++ 代码当然可以在 iOS 中使用,因为 C 和 C++ 与 Objective C 兼容;我发现将可移植 C++ 代码挂接到 iOS 应用程序相对容易。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多