美文网首页iOS随笔小记
iOS随笔小记 -- 百度地图三(添加导航)

iOS随笔小记 -- 百度地图三(添加导航)

作者: 七一小月 | 来源:发表于2017-06-26 16:25 被阅读42次

一: 在 http://lbsyun.baidu.com/index.php?title=ios-navsdk/sdkios-nav-download 下载导航的BaiduNaviSDK,并添加到工程里面。

E6985C2F-8AEE-40A1-B5F9-E7F5A65105E5.png

二: 把baiduNaviSDK文件夹添加到工程中

把UserNotifications.framework、AudioToolbox.framework、ImageIO.framework、CoreMotion.framework、CoreLocation.framework、CoreTelephony.framework、MediaPlayer.framework、AVFoundation.framework、SystemConfiguration.framework、JavaScriptCore.framework、Security.framework 、OpenGLES.framework 、GLKit.framework 、libstdc++6.0.9.dylib、libc++.tbd、libsqlite3.0.tbd、libz.1.2.5.tbd这几个framework添加到工程中,添加方法为在Xcode中单击工程文件,选择Build Phrases选项,点击Link Binary with Libraries下的“+”逐个添加。另外thirdlibs中的两个静态库libssl.a、libcrypto.a也要添加到工程中,如下所示:

D38A03C4-7766-49D9-8CE4-C5298B0A0D34.png

三 : 配置.plist文件,如图所示(画红线字段):

设置 “Required background modes”、 “App Transport Security Settings”(可以根据自身情况设置,导航sdk已经全面支持https)、 ”NSLocationAlwaysUsageDescription”、 ”NSLocationWhenInUseUsageDescription”、 ”View controller-based status bar appearance”、” LSApplicationQueriesSchemes”这6项


1D478064-D924-4DDB-BE22-054B48404A23.png

四: 开启引擎

在APPDelegate里面开启

//开启引擎
 [BNCoreServices_Instance initServices:@"申请的密钥值"];
 [BNCoreServices_Instance startServicesAsyn:nil fail:nil];

五: 发起导航

#pragma mark -- 发起导航
-(void)starNaviByBMKUserLocation:(BMKUserLocation *)userLocation{

    //节点数组
    NSMutableArray * nodesArray = [NSMutableArray array];

    //起点
    BNRoutePlanNode * startNode = [[BNRoutePlanNode alloc] init];
    startNode.pos = [[BNPosition alloc] init];
    startNode.pos.x = userLocation.location.coordinate.latitude;
    startNode.pos.y = userLocation.location.coordinate.longitude;
    startNode.pos.eType = BNCoordinate_BaiduMapSDK;
    [nodesArray addObject:startNode];

    //终点
    BNRoutePlanNode * endNode = [[BNRoutePlanNode alloc] init];
    endNode.pos = [[BNPosition alloc] init];
    endNode.pos.x = userLocation.location.coordinate.latitude+ 10;
    endNode.pos.y = userLocation.location.coordinate.longitude + 10;
    endNode.pos.eType = BNCoordinate_BaiduMapSDK;
    [nodesArray addObject:endNode];

    //发起路径规划
    [BNCoreServices_RoutePlan startNaviRoutePlan:BNRoutePlanMode_Recommend naviNodes:nodesArray time:nil delegete:self userInfo:nil];
}

#pragma  mark -- BNNaviRoutePlanDelegate
-(void)routePlanDidFinished:(NSDictionary *)userInfo{

    NSLog(@"路程计算成功");

    //开始导航
    [BNCoreServices_UI showPage:BNaviUI_NormalNavi delegate:self extParams:nil];
}

六: 运行结果如下(会出现错误):

E1391179-DC5F-4987-92FE-DDF85C96FC5C.png

七: 解决方案:

相关文章

  • iOS随笔小记 -- 百度地图三(添加导航)

    一: 在 http://lbsyun.baidu.com/index.php?title=ios-navsdk/s...

  • RN-地图导航

    调起百度网页地图路径导航 调起高德网页地图路径导航 iOS调起百度APP地图路径导航 iOS调起高德app地图路径...

  • 各大导航URl API 集合

    百度导航IOS API 公交、驾车、导航、步行和骑行导航 调起iOS百度地图,展示指定导航模式下从起点到终点的路线...

  • iOS-系统原生的地图和定位简单使用

    iOS工程中简单使用原生的地图框架目录:一、使用MKMap控件二、根据地址定位三、在地图上添加锚点四、导航 iOS...

  • 地图导航

    URI跳转方式地图导航的代码实践iOS调用第三方地图路线导航IOS实现应用内打开第三方地图app进行导航 高德 i...

  • 2019-03-26

    iOS 调起第三方地图导航

  • iOS 集成高德地图

    参考文档:iOS 跳转方式实现地图导航功能 应用内导航 是指使用地图服务提供的SDK(比如高德,百度等等),直接将...

  • 百度地图/社交分享/应用间的跳转

    百度地图 导航画线本质上是在mapView上添加遮盖物。数据交由苹果处理(苹果找高德地图) 画线可以分为三大步骤,...

  • 百度地图之导航bug

    参考:百度地图SDK和百度导航SDK合并冲突问题 百度地图sdk和导航sdk共同使用 百度导航SDK是用于导航的,...

  • IOS地图定位导航

    title : IOS地图定位导航category : UI 地图定位导航 标签(空格分隔): IOS 概述 I...

网友评论

    本文标题:iOS随笔小记 -- 百度地图三(添加导航)

    本文链接:https://www.haomeiwen.com/subject/wbxjcxtx.html