百度导航

SDK组成

百度iOS导航SDK由四部分组成:baiduNaviSDK.bundle资源包,libbaiduNaviSDK.a静态库,头文件,BaiduStatistics。baiduNaviSDK.bundle资源包由导航所需的配置数据、基础数据,以及导航功能所需的图片资源组成。libbaiduNaviSDK.a静态库,提供导航功能、线径规划、巡航等功能。头文件是libbaiduNaviSDK.a静态库提供给第三方开发者的接口。BaiduStatistics是百度mtj统计库。

新建或打开工程

新建或打开一个iOS工程。新建时请选择支持”iPhone”。

helloworld2.png

将SDK和Framework添加进工程

把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下的“+”逐个添加,如下所示:

helloworld3-1.png

如果工程使用的是ARC,在Xcode的Build Phrase选项中设置 TouchJSON库设置为非ARC编译选项,如下:

helloworld3-2.png

修改Build Settings设置项

在Build Settings中, “Other Linker Flags”添加“-ObjC” 标识

helloworld4-1.png


将 “Build Active Architecture Only” 设置为 “No”,将 “Valid Architecutres” 设置为“armv7,arm64” ,删除armv7s。

helloworld4-2.png

配置.plist文件

设置 “required background modes” , “Supported interface orientations” , “NSLocationAlwaysUsageDescription”:


helloworld5.png

开启引擎

在AppDelegate.m添加如下头文件

#import "BNCoreServices.h"

在函数 “application:didFinishLaunchingWithOptions:” 中启动SDK引擎,如下图所示。其中 KEY值可以在LBS开放平台申请。

helloworld6-1.png

发起导航

发起导航前首先需要进行路径规划,如下:

//发起导航
- (void)startNavi
{
    //节点数组
    NSMutableArray *nodesArray = [[NSMutableArray alloc]    initWithCapacity:2];
 
    //起点
    BNRoutePlanNode *startNode = [[BNRoutePlanNode alloc] init];
    startNode.pos = [[BNPosition alloc] init];
    startNode.pos.x = 113.936392;
    startNode.pos.y = 22.547058;
startNode.pos.eType = BNCoordinate_BaiduMapSDK;
    [nodesArray addObject:startNode];
 
    //终点
    BNRoutePlanNode *endNode = [[BNRoutePlanNode alloc] init];
    endNode.pos = [[BNPosition alloc] init];
    endNode.pos.x = 114.077075;
    endNode.pos.y = 22.543634;
endNode.pos.eType = BNCoordinate_BaiduMapSDK;
    [nodesArray addObject:endNode];
    //发起路径规划
    [BNCoreServices_RoutePlan startNaviRoutePlan:BNRoutePlanMode_Recommend naviNodes:nodesArray time:nil delegete:self userInfo:nil];
}

算路成功后,在回调函数中发起导航,如下:

//算路成功回调
-(void)routePlanDidFinished:(NSDictionary *)userInfo
{
    NSLog(@"算路成功");
 
    //路径规划成功,开始导航
    [BNCoreServices_UI showNaviUI: BN_NaviTypeReal delegete:self isNeedLandscape:YES];
}


下图为发起导航后的界面图:

helloworld6-2.png

http://developer.baidu.com/map/wiki/index.php?title=ios-navsdk/guide/helloworld(参考)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值