Tag: 矢量地图

使用MapBox GL的iOS预打包的离线矢量地图

我终于找到了一种解决方案,可以为我的地理游戏的iOS版本提供离线矢量地图,这在哪里? 使用MapBox GL。 我想在这里向您展示解决方案。 但首先:我是iOS和Android地理游戏的开发者,下载量超过600万,但我仍将MBTiles栅格地图与旧版MapBox框架结合使用。 真可惜! 这种方法存在一系列问题,例如大文件大小和缺乏样式灵活性,从而给我的用户带来了不太吸引人的游戏体验。 现在是时候彻底改变这种情况了。 输入矢量图块:周围有很多矢量地图框架(例如WhirlyGlobe,Tangram-ES,Mapzen,Nutiteq),我花了一些时间对它们全部进行了全面测试。 但是它们都不符合我的所有要求: 带有小文件大小的预打包离线图块源 开源的 快速渲染 样式灵活 它们中的大多数在渲染矢量图块时均缺乏性能,从而导致丑陋的伪影。 我确实很喜欢WhirlyGlobe中的Globe选项。 最接近我的需求的软件包是MapBox GL 。 唯一缺少的是iOS的离线选项。 但是我找到了一个简单的方法来实现。 使用MapBox Studio Classic创建矢量地图源并将其导出为MBTiles。 使用mb-util将MBTiles文件转换为单个pbf文件。 压缩它。 将这些CocoaPods添加到您的Podfile中: MapBox-iOS-SDK,GCDWebServer,objective-zip 创建一个GCDWebServer实例,通过NSBundle中的一个zip文件提供PBF矢量地图文件。 使用指向您本地Web服务器的自定义样式json加载MGLMapView 。 瞧! 离线矢量地图具有灵活的样式,小的文件大小和令人难以置信的性能。 您可以在Github jaysquared / mapbox-gl-ios-offline-example上找到一个示例项目。 您可以下载我的地理游戏 在哪里? 在iTunes上 。 包括矢量图。