使用Swift应用百度IOS导航SDK
什么是百度iOS导航SDK?
百度iOS导航 SDK是一套基于iOS 6及以上版本设备的应用程序接口, 您可以通过该接口实现专业的导航功能:
路径规划:通过输入起点与终点,可以发起路径规划。
导航功能:成功发起路径规划后,即可以进入真实GPS导航或模拟导航。真实导航中点击转向标可以切换到文字导航模式,文字导航界面点击HUD按钮可以进入HUD导航。
巡航功能:也即电子狗功能,不用输入起点终点,一键即可进行巡航模式,准确发现前方电子眼信息。
传入外部GPS功能:当SDK运行于无法获取GPS数据的设备时,可以利用其它GPS模块获取GPS信息,然后通过SDK提供的接口传入GPS数据发起导航或者巡航。
SDK组成
百度iOS导航SDK由四部分组成:baiduNaviSDK.bundle资源包,libbaiduNaviSDK.a静态库,头文件,BaiduStatistics。baiduNaviSDK.bundle资源包由导航所需的配置数据、基础数据,以及导航功能所需的图片资源组成。libbaiduNaviSDK.a静态库,提供导航功能、线径规划、巡航等功能。头文件是libbaiduNaviSDK.a静态库提供给第三方开发者的接口。BaiduStatistics是百度mtj统计库。
将SDK和Framework添加进工程
1、将sdk文件(BaiduNaviSDK目录)拷贝到项目中
2、把baiduNaviSDK文件夹添加到工程中,把AudioToolBox.framework、ImageIO.framework、CoreMotion.framework、CoreLocation.framework、CoreTelephony.framework、MediaPlayer.framework、AVFoundation.framework、SystemConfiguration.framework、libstdc++6.0.9.dylib这几个framework添加到工程中,添加方法为在Xcode中单击工程文件,选择Build Phrases选项,点击Link Binary with Libraries下的“+”逐个添加,如下所示:
3、修改Build Settings设置项
在Build Settings中, “Other Linker Flags”添加“-ObjC” 标识
如果工程使用的是ARC,在Xcode的Build Phrase选项中设置 TouchJSON库设置为非ARC编译选项,如下
配置.plist文件
设置 “required background modes”,“Supported interface orientations”,“NSLocationAlwaysUsageDescription”:
引入头文件
在自己的项目中新建一个Object文件,并生成一个ObjectiveC的头文件,好方便我们添加ObjectiveC写的头文件
开启引擎
在AppDelegate.swift添加如下代码来初始化导航引擎:
在函数 “application:didFinishLaunchingWithOptions:” 中启动SDK引擎,如下图所示。其中 KEY值可以在LBS开放平台申请。
设计界面如下
设计页面如下
第一个导航图像
实现导航方法
实现外部GPS导航
实现路径规划