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