1 概述
天地图iOS版地图SDK是一套基于iOS 7及以上版本设备的应用程序接口。 您可以使用该套 SDK开发适用于iOS系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问天地图服务和数据,构建功能丰富、交互性强的地图类应用程序。
1.1 地图
提供地图展示和地图操作功能。
地图展示包括:普通地图(2D,3D)、卫星图和实时交通图;
地图操作:可通过接口或手势控制来实现地图的点击、双击、长按、缩放、旋转、改变视角等操作
1.2 定位
采用iOS系统定位,使用地图SDK中我的位置图层进行丰富的位置展示(包括普通态、跟随态和罗盘态)。
1.3 离线地图
用户可以通过SDK在线下载离线包接口,下载离线地图包,使用离线地图可节省用户流量,提供更好的地图展示效果。
1.4 个性化地图
自v1.1.0起,支持使用个性化地图模板,改变底图颜色和样式。
使用个性化模板,实现地图元素的颜色设置,地图元素包含大地、水系、草地、高速、普通道路、铁路、地铁,poi等,以及poi和道路的文字颜色设置。
通过可见属性,控制显示地图元素。
下个版本,我们将进一步优化此功能,让广大开发者可以通过可视化编辑器方式编辑样式模板。
1.5 覆盖物图层
支持多种覆盖物图层,便于显示POI检索结果、线路规划结果、自定义标绘等。 此外还提供特有的图片图层,用于显示用户传入的图片信息。开放热力图绘制能力,通过用户自有数据,绘制属于自己的热力图。 瓦片图层,支持开发者添加自有瓦片数据。
2 开发说明
2.1 添加Framework包
添加基础包Foundation.framework、UIKit.framework;以及SDK依赖的包:
CoreLocation.framework
CoreTelephony.framework
libz.1.2.5.tbd(或 libz.1.2.5.dylib)
MobileCoreServices.framework
添加这些依赖之后,开始将TkMapKit.framework添加至开发环境中。
上述添加包的步骤,如图:
2.2 添加Bundle资源包
将TkMapKit.bundle添加至开发环境中。操作步骤如下图所示:
2.3 添加所需权限Info.plist
将TkMapKit.bundle添加至开发环境中。操作步骤如下图所示:
在Info.plist的Information Property List加入键值和设置定位权限,加入String类型,名称为Privacy - Location Usage Description(NSLocationUsageDescription)的键,值为定位权限的提示文本。加入String类型,名称为NSLocationAlwaysUsageDescription的键,值为定位权限的提示文本。
设置网络安全权限,加入一个类型为Dictionary,名称为App Transport Security Settings(NSAppTransportSecurity)的键,并在这个Dictionary中加入一个Boolean类型,名称为Allow Arbitrary Loads(NSAllowsArbitraryLoads)的键,值设置为YES。
2.4 初始化
在自定义AppDelegate类进行SDK全局初始化,重载AppDelegate类为的方法-[UIApplicationDelegate application:didFinishLaunchingWithOptions:],并在其中加入如下代码:
成功运行后会在终端日志中显示SDK的相关信息,如下图:
2.5 显示地图
运行地图效果如下图:
附录1 地图等级与比例尺的对应关系
*比例尺是指地图在iPhone4在纬度30∘的位置上,以整数级别显示时的比例尺。
附录2 地图资源列表
附录3地图文件组织结构
在地图应用的沙盒目录下,文件组织的格式如下:
./Documents/mapdata/{horae}/{province}/{region}.dat
{horae} 是地图配置文件中配置的地图类型,默认为horae。
{province} 是省名,为citylist中列出的省名。
{region} 区域名,为regionlist中列出的区域名称。
例如,北京的某个区域的地图数据文件的路径如下:
./Documents/mapdata/horae/beijing/beijingb.dat