在iOS中导航的私有财产的离线地图

时间:2015-07-20 10:09:57

标签: ios objective-c swift maps mbtiles

我有一个为我的大学校园建立离线地图的想法(它覆盖了近3-4英里)。像新学生或客人可以导航到校园的各个街区。学生可以在当前位置看到他/她自己在地图上的标记。可以从预定义的地点列表中选择目的地,应用程序将导航它们。

我已经探索了很多像 maptiles 可以帮助我显示地图。但是有没有其他有效的方式来展示校园地图?而且我不知道我将如何导航用户(因为作为私有财产区域是Google的地图(或其他一些)API无法访问)。

任何建议都会有所帮助。 :)

EDITED

以下是谷歌地图link到我的地方。

我正在研究过去几天的ArcGIS,学习创建其地理数据库'使用' ArcGIS for Desktop'用于在iPhone上渲染离线地图。

但是,现在我关心的是如何导航用户。

我会欢迎任何使用任何不同方法完成它的建议/想法。

2 个答案:

答案 0 :(得分:5)

您可以使用MapBox实现这一目标。

MapBox是GoogleMaps的替代品,支持离线地图。

  

Mapbox iOS SDK
  Mapbox iOS SDK有三种方法可用   用于离线地图。使用基于缓存的方法,RMTileCache用于   RMMapView可以配置为根据它们保持地图图块   计算或根据他们在缓存中的年龄。

     

基于之前的用户互动进行缓存

     

下载后,瓷砖会自动缓存以供显示   基于用户的平移和缩放地图。例如,如果是   用户查看地图,然后缩小,然后稍后放大   离线时,原始图块将出现在缓存中并将显示   无需网络连接。

     

某些地图区域的主动背景缓存

     

使用RMTileCache和RMTileCacheBackgroundDelegate协议   开发人员可以让用户下载某个边界框和   在实际显示它们之前在背景中缩放范围   屏幕。回调触发,允许开发人员报告进度   对用户甚至取消正在进行的下载。

     

在此过程中将跳过已存在于缓存中的平铺   后台下载而不是重新下载。

     

MBTiles预先包装好的瓷砖

     

使用MBTiles格式进行地图图块存储,开发人员可以构建   直接从MBTiles文件中读取切片的应用程序,但不会   永远需要网络连接。由于MBTiles是一种开放格式的文件   可以手动创建,也可以使用TileMill以及其他许多方法创建   应用程序和实用程序,如mbutil。

您需要最后一个(即MBTiles prepackaged tiles)。

来源:https://www.mapbox.com/help/ios-offline/

答案 1 :(得分:3)

如果你采用OpenStreetMap方式(直接在OpenStreeMap中映射你的属性),那么你也可以使用Scout SDK

它是基于OSM的,并提供对离线地图,离线路由和TBT导航。如果你正确连接路段,SDK将能够创建汽车,自行车和您的数据的行人路线。

虽然不是免费的,但Scout SDK有一个免费的等级,可能足以满足您的特定需求(如果不是,您将转向“按需付费”模式)