欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

IOS百度地图导航开发功能实现简述

程序员文章站 2023-12-01 20:17:22
以下通过图文并茂的方式给大家讲述百度地图导航开发功能: 第一步:在使用百度导航之前,我们需要在百度地图开放平台上下载导航的 sdk,共85.8m,网速不好的同学可提前准备...

以下通过图文并茂的方式给大家讲述百度地图导航开发功能:

第一步:在使用百度导航之前,我们需要在百度地图开放平台上下载导航的 sdk,共85.8m,网速不好的同学可提前准备好。

IOS百度地图导航开发功能实现简述

第二步:引入导航所需的系统包

  将audiotoolbox.framework、imageio.framework、coremotion.framework、corelocation.framework、coretelephony.framework、mediaplayer.framework、avfoundation.framework、systemconfiguration.framework、libstdc++6.0.9.dylib这几个framework添加到工程中。

IOS百度地图导航开发功能实现简述

第三步:将touchjson库设置为非arc编译选项,也就是在 compile sources 中设置编译方式为:-fno-objc-arc

IOS百度地图导航开发功能实现简述

第四步:勾选媒体后定位后台模式

IOS百度地图导航开发功能实现简述

第五步:添加头文件,发起导航

#import "bncoreservices.h"// 引入地图导航头文件
#pragma mark - bnnavirouteplandelegate 发起导航
- (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];
}
#pragma mark
#pragma mark - bnnaviuimanagerdelegate 算路成功回调
-(void)routeplandidfinished:(nsdictionary *)userinfo
{
nslog(@"算路成功");
//路径规划成功,开始导航 bn_navitypesimulator 默认模拟导航,bn_navitypereal 真机导航
[bncoreservices_ui shownaviui: bn_navitypesimulator delegete:self isneedlandscape:yes];
}

有关ios百度地图导航开发功能小编就给大家介绍这么多,后续还会持续更新,敬请关注网站!