21

我正在寻找一种解决方案,该解决方案将允许使用 OpenStreetMap 数据在 iOS 中渲染基于矢量的 2D 俯视图,而不是使用来自服务器的预渲染图块。类似于 iOS6+ 中的 Apple 和 Google 地图。

我已经对此事进行了广泛的研究,但没有找到太多信息。
有许多 iOS 应用程序可以做到这一点,但没有关于它们如何实现它的信息。其中一些应用程序是:

前 2 个应用程序的工作方式类似于 Apple 和 Google 地图。每当缩放变化时,地图都会实时绘制。
最后一个似乎使用了稍微不同的方法。它以特定缩放级别渲染矢量数据并创建切片,然后将其用作从切片服务器下载的普通切片。因此,渲染引擎实际上可以是 Route-Me 库的瓦片源,但不是下载瓦片,而是动态渲染它们。

首选第一种方法。

[Q] 我想一旦 OpenGL ES 渲染器就位,就可以相当容易地在方法之间切换。我的意思是您可以将渲染器用作 Route-Me 的源来创建图块,或者您可以将其用作实时抽屉,类似于游戏。我对吗?

我找到的最接近的解决方案是OpenStreetPad。但是,它使用的是 Core Graphics 而不是 OpenGL ES,因此渲染不是硬件加速的。

Mapbox 表示他们正在研究矢量图块,他们可能会提供 iOS 渲染解决方案,但它可能会使用 Mapnik,所以我不确定它的效率如何。自 2013 年年中以来就没有 ETA。

[Q] 您是否知道任何其他库、论文、指南、示例或其他有关如何处理此问题的有用信息?基本上如何处理 OSM 数据以及如何实际使用 OpenGL ES / GLKit 在设备上绘制该数据。也许一些做过它的人可以分享一些东西?

4

3 回答 3

5

老问题,但有一个新的答案。WhirlyGlobe-Maply 将在 iOS 上渲染基于瓦片的矢量地图。 http://mousebirdconsulting.blogspot.com/2014/03/vector-maps-introduction.html

于 2014-03-23T20:56:26.600 回答
2

支持 skobbler 的 ForeverMap 2 及其当前 GPS 导航和地图应用程序的技术现在可以按使用付费。查看他们的开发者平台注意:他们还有一个免费层,可用于开发/启动小型应用程序。

他们使用 OpenGL 和“矢量数据图块”渲染地图。此矢量数据图块包含有关道路几何形状的信息(因此您可以拥有路线)、POI 数据和其他地图特征。(例如边界限制)。

于 2014-08-22T14:22:57.197 回答
1

有一个基于 OSM 的 iOS 应用程序列表。它还包括一些开源项目,例如Navit。Navit 似乎使用 SDL/OpenGL 渲染地图。有关详细信息,请参阅Navit iOS wiki 页面

于 2013-05-08T12:20:44.050 回答