我正在寻找一种解决方案,该解决方案将允许使用 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 在设备上绘制该数据。也许一些做过它的人可以分享一些东西?