iOS開發之百度地圖導航


本篇主要講述百度地圖的導航功能:

第一步:在使用百度導航之前,我們需要在百度地圖開放平台上下載導航的 SDK,共85.8M,網速不好的同學可提前准備好。

第二步:引入導航所需的系統包

  將AudioToolbox.framework、ImageIO.framework、CoreMotion.framework、CoreLocation.framework、CoreTelephony.framework、MediaPlayer.framework、AVFoundation.framework、SystemConfiguration.framework、libstdc++6.0.9.dylib這幾個framework添加到工程中。

第三步:將TouchJSON庫設置為非ARC編譯選項,也就是在 Compile Sources 中設置編譯方式為:-fno-objc-arc

第四步:勾選媒體后定位后台模式

第五步:添加頭文件,發起導航

#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];
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM