美文网首页橙红科技有限公司iOS开发指南轮子
iOS黑科技【应用技术篇-1】 3步快速集成百度导航

iOS黑科技【应用技术篇-1】 3步快速集成百度导航

作者: 小明大神 | 来源:发表于2016-09-26 20:32 被阅读1097次
baiduNavi.gif

很多小伙伴在做项目中都会用到导航功能,这一期就为大家带来快速集成导航的方法,这里使用的是百度导航(优点:集成方便算路快,不用跳转,满满的套路,CV即可)。


第一步:

导入百度SDK,手动添加依赖库�


HelloWorld-3-1.png

配置.plist文件

HelloWorld-5.png

第二步

appdelegate里注册百度SDK

//***百度地图***
//官网注册申请密钥key
    [BNCoreServices_Instance initServices:@"lKWaL65uOvOBZ5rw50XA7Ukv5HhSVQHm"];
    
    [BNCoreServices_Instance startServicesAsyn:nil fail:nil];

在导航的控制器类里添加协议

<BNNaviUIManagerDelegate,BNNaviRoutePlanDelegate>

####用起点坐标和终点坐标计算路径

第三步

计算导航路径

#pragma mark 发起导航算路(起点和重点都放在这个方法里计算规划路径)
- (void)startCalculateNavi
{
    //***节点数组***
    NSMutableArray *nodesArray = [[NSMutableArray alloc] initWithCapacity:2];
    
    //***起点***
    //获得当前定位
    CLLocation *myLocation=[BNCoreServices_Location getLastLocation];
    
    BNRoutePlanNode *startNode=[[BNRoutePlanNode alloc] init];
    
    startNode.pos=[[BNPosition alloc] init];
    startNode.pos.x=myLocation.coordinate.longitude;
    startNode.pos.y=myLocation.coordinate.latitude;
    startNode.pos.eType=BNCoordinate_OriginalGPS;
    
//模拟定位点
//    BNRoutePlanNode *startNode = [[BNRoutePlanNode alloc] init];
//    startNode.pos = [[BNPosition alloc] init];
//    startNode.pos.x = 113.936392;
//    startNode.pos.y = 22.547058;
![Uploading baiduNavi_575714.gif . . .]
//    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];
}

计算成功后回调方法,开始导航

#pragma mark 算路成功回调
-(void)routePlanDidFinished:(NSDictionary *)userInfo{
    
    NSLog(@"算路成功");
    
    //路径规划成功,开始导航
    [BNCoreServices_UI showPage:BNaviUI_NormalNavi delegate:self extParams:nil];
    
}

路径计算失败回调

-(void)routePlanDidFailedWithError:(NSError *)error andUserInfo:(NSDictionary *)userInfo{
    
    NSLog(@"导航失败");
}

集成排坑指南:

1.官网百度导航SDK更新到了3.0.0,(3.0.0会有MBProgresshud等三方库冲突问题,如果你的项目中使用了这些三方库就会报错),解决方法:使用百度导航3.02;
2.百度导航 TTS授权失败,解决方法:去百度地图官网申请成为开发者,再添加项目申请密钥key;
3.百度导航SDK封装的静态库单个文件就有200多M,git时最好添加到忽略文件里。


这一期就到这里了,亲们有什么意见和问题记得及时反馈哦,喜欢的话点个关注给个赞(づ ̄3 ̄)づ╭❤~
我们下期再会

相关文章

  • iOS黑科技【应用技术篇-1】 3步快速集成百度导航

    很多小伙伴在做项目中都会用到导航功能,这一期就为大家带来快速集成导航的方法,这里使用的是百度导航(优点:集成方便算...

  • iOS【应用技术篇-1】 3步快速集成百度导航

    很多小伙伴在做项目中都会用到导航功能,这一期就为大家带来快速集成导航的方法,这里使用的是百度导航(优点:集成方便算...

  • iOS微信登录快速集成步骤

    iOS微信登录快速集成步骤 iOS微信登录快速集成步骤

  • 各大导航URl API 集合

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

  • 集成支付、第三方登录知识总结

    1、玩转iOS开发:集成 WeChat SDK - 支付篇2、玩转iOS开发:集成 AliPay - 支付宝

  • RN-地图导航

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

  • 百度地图导航问题

    因为公司的项目,导致iOS必须要集成百度导航,说实话我直接认为百度地图开放平台真的很lj,很多东西改了,却没有详细...

  • iOS集成百度导航

    第一遍集成百度导航的时候,遇到一些坑,当时懵懵懂懂的写完了,完全没感觉。 第二次写的时候,还是那些坑,甚至更多了,...

  • 百度地图的集成(转载)

    如何快速集成百度地图: 注册百度开发者帐号=》创建应用=》下载SDK=》集成开发=》测试应用=》发布应用 1、注册...

  • react-native学习总结

    A、导航栏Navigation 1、无法pop到指定router,快速连续点击容易出现重复push,集成Redux...

网友评论

  • a706aa61f4d8:接下来项目中就要用到百度导航,收藏了
  • 知守勋:问一下,百度导航有没有步行导航的接口

本文标题:iOS黑科技【应用技术篇-1】 3步快速集成百度导航

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