百度地图导航功能 希望对大家有用吧

鉴于百度地图的基本功能,不难看着文档就能搞定,在这里我就不多写了。主要写一下用百度地图的导航功能。

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

2、然后主要就是添加几个常用的frame.work:把baiduNaviSDK文件夹添加到工程中,把AudioToolbox.framework、ImageIO.framework、CoreMotion.framework、CoreLocation.framework、CoreTelephony.framework、MediaPlayer.framework、AVFoundation.framework、SystemConfiguration.framework、libstdc++6.0.9.dylib、Security.framework、JavaScriptCore.framework。这几个framework添加到工程中,添加方法为在Xcode中单击工程文件,选择Build Phrases选项,点击Link Binary with Libraries下的“+”逐个添加。

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

4、 配置.plist文件  设置 “required background modes” , “Supported interface orientations” , “NSLocationAlwaysUsageDescription”

5.

在AppDelegate.m添加如下头文件

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

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

    

    [BNCoreServices_Instance initServices:@"你的K值"];

    [BNCoreServices_Instance startServicesAsyn:nil fail:nil];

    

return YES;

}

6、然后在你需要是现实的.M文件写

#import "BNCoreServices.h"// 引入地图导航头文件

<BNNaviRoutePlanDelegate,BNNaviUIManagerDelegate>//这两个别忘了写 ,要不然会有警告

#pragma mark - BNNaviRoutePlanDelegate 发起导航

- (void)startNavi

{

    //节点数组

    NSMutableArray *nodesArray = [[NSMutableArray alloc]    initWithCapacity:2];

    

    //起点

    BNRoutePlanNode *startNode = [[BNRoutePlanNode alloc] init];

    startNode.pos = [[BNPosition alloc] init];

    NSString *longitudeStr =[NetWorkTool getData:@"longitude"];

    NSString *latitudeStr =[NetWorkTool getData:@"latitude"];

    

    startNode.pos.x = 起点经度;

    startNode.pos.y = 起点维度;

    startNode.pos.eType = BNCoordinate_BaiduMapSDK;

    [nodesArray addObject:startNode];

    

    //终点

    BNRoutePlanNode *endNode = [[BNRoutePlanNode alloc] init];

    endNode.pos = [[BNPosition alloc] init];

    endNode.pos.x = 终点经度;

    endNode.pos.y = 经度纬度;

//    [NetWorkTool setdateData:listModle.latitude Key:@"latitudeStr"];

//    [NetWorkTool setdateData:listModle.longitude Key:@"longitudeStr"];

    endNode.pos.eType = BNCoordinate_BaiduMapSDK;

    [nodesArray addObject:endNode];

    //发起路径规划

    [BNCoreServices_RoutePlan startNaviRoutePlan:BNRoutePlanMode_NoHighway naviNodes:nodesArray time:nil delegete:self userInfo:nil];

}

//BNNvariUIManagerDelegate

#pragma mark

#pragma mark - BNNaviUIManagerDelegate 算路成功回调

-(void)routePlanDidFinished:(NSDictionary *)userInfo

{

    NSLog(@"算路成功");

    //

    //路径规划成功,开始导航 BN_NaviTypeSimulator 默认模拟导航,BN_NaviTypeReal 真机导航

    [BNCoreServices_UI showNaviUI: BN_NaviTypeReal delegete:self isNeedLandscape:YES];

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值