文档章节

iOS集成百度地图

RainOrz
 RainOrz
发布于 2016/10/09 16:56
字数 473
阅读 137
收藏 0

项目中用到的是高德地图,看到别人的微博中用的百度地图也挺简单,先MARK一下,用到了再说

第一步:

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

配置.plist文件

第二步

appdelegate里注册百度SDK

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

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

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

第三步

计算导航路径

#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时最好添加到忽略文件里。

本文转载自:http://www.cocoachina.com/ios/20160929/17671.html

RainOrz
粉丝 8
博文 161
码字总数 96434
作品 0
青浦
程序员
私信 提问
Phonegap各类商业插件

【Phonegap商业插件服务】[目前插件已经支持到Phonegap最新版本] 1.phonegap-百度社会化分享-andriod插件 v2.0 【该插件支持微信分享和朋友圈分享,qq好友分享,微博分享】 2.phonegap百度社...

夜澜小雨
2015/07/15
1K
0
IOS 应用内打开三方地图app直接导航

简书 当然因为有需求喽。 疯狂试探 常用地图应用的url Scheme: 苹果地图不需要,iOS API提供了一个跳转打开方法。 注意IOS9之后,plist里面设置url scheme白名单 在下用的是高德坐标 高德转...

Apple_JinlongLu
2017/05/10
0
0
迈绝伦团队工作汇总

项目负责人:余志恒 up_java后台:无 mz_java后台:伦比商城后台功能,新增2个推送功能 bwk后台:无 项目负责人:季景胜 up_Android:无 upzg_Android:无 mzqk_Android:推送及秒币功能UI界...

风化的骆驼
2017/01/03
1
0
SegmentFault D-Day 2015 北京:iOS 站

SegmentFault D-Day 介绍 SegmentFault D-Day,是由国内最前沿的开发者社区 SegmentFault 主办的技术沙⻰,于2014年正式启动。2015年上半年D-Day已在北、上、广、深、杭等城市成功举办9场,活...

文洁洁洁
2015/11/26
245
0
SegmentFault D-Day 2015 北京:iOS 站

SegmentFault D-Day 介绍 SegmentFault D-Day,是由国内最前沿的开发者社区 SegmentFault 主办的技术沙⻰,于2014年正式启动。2015年上半年D-Day已在北、上、广、深、杭等城市成功举办9场,活...

文洁洁洁
2015/11/26
13
0

没有更多内容

加载失败,请刷新页面

加载更多

Activity启动模式二

上篇文章Activity启动模式一主要介绍了Activity的四种启动模式,这些启动模式都是在AndroidManifest中进行配置的。除此之外,Android系统还通过Intent类提供了一些标志位,同样可以指定Activ...

ltlovezh
44分钟前
6
0
三原色还原

1、Color Filter Array — CFA 随着数码相机、手机的普及,CCD/CMOS 图像传感器近年来得到广泛的关注和应用。 图像传感器一般都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式...

天王盖地虎626
55分钟前
7
0
kubernetes pod exec接口调用

正文 一般生产环境上由于网络安全策略,大多数端口是不能为集群外部访问的。多个集群之间一般都是通过k8s的ApiServer组件提供的接口通信,如https://192.168.1.101:6443。所以在做云平台时,...

码农实战
今天
8
0
3_数组

3_数组

行者终成事
今天
8
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部