你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 百度地圖流程

百度地圖流程

編輯:IOS開發綜合

我使用百度地圖感覺就像是坑了爹一樣,總會出現各種問題,今天我在這個博客裡面寫寫百度地圖有可能出的坑。

------------------

首先百度上打百度地圖API然後點擊進去,點擊開發,點擊IOS地圖SDK。

 

\

 

------------------

進到這個界面先點相關下載

 

\

 

------------------

進到這個裡面,直接點全部下載(藍色按鈕),下載完成後解壓縮

 

\

 

------------------

解壓縮完成後是這個樣子的,然後打開

 

\

 

-------------------

最後那個.DS_store沒有用,你們別被誤導,那個是我的隱藏文件,

我不會隱藏。。。
我不會隱藏。。。
我不會隱藏。。。

把zip文件解壓縮,就是下面的兩個藍色文件夾

 


\

 

\

 

  ------------------- 之後,回到概述,概述下面有個獲取密鑰,點一下會跳轉,點擊創建應用   \     ------------------- 之後,應用名稱輸個你認識的名字,最好是工程的中文名,應用類型寫,IOS,SDK,安全碼,是你工程Bundle Identifier   \   \     ------------------- 第三個那一長串英文字母,就是你的百度key這個你找個地方保存一下   \   ------------------- 回到百度地圖概述那裡,然後你點擊開發指南,直接點第三個注意事項,然後第四條和第五條,你需要注意一下,直接按照我圖片上
NSAppTransportSecurity

LSApplicationQueriesSchemes
一填加就可以了,剩下的內容不用看,直接點到配置開發環境     \     \   \   ------------------- 之後到了配置開發環境之後,有一個自動配置,還有一個手動配置,我個人一直弄的是手動配置,我接下來寫的肯定也是手動配置,接下來,點你的文件夾,點右鍵,點show in finder,在finder中,點到文件夾裡面,你最好新建一個文件夾叫Frameworks,用來放.framework包 \\   ------------------- 點開Frameworks這個文件夾,把這7個文件拖進去,然後回到你的工程。 如果沒法用的話,就刪掉,用add file to "文件名"的方法添加進去   \   ------------------- 把這個文件夾拖進去,裡面就有了這7個BaiduMap.framework了,然後添加系統庫,   CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework、libsqlite3.0.tbd(xcode7以前為 libsqlite3.0.dylib)、CoreTelephony.framework 、libstdc++.6.0.9.tbd(xcode7以前為libstdc++.6.0.9.dylib)。   添加方式:在Xcode的Project -> Active Target ->Build Phases ->Link Binary With Libraries,添加   \\   ------------------- 然後在TARGETS->Build Settings->Other Linker Flags 中添加 -ObjC   再下一步,你點著Frameworks這個文件夾,點右鍵,有一個Add File to "項目名",你點擊一下,找到你之前放7個BaiduMap庫的文件夾,點這幾個庫,找到一個有Resources文件的庫,點文件夾,點擊add,你工程裡面就有了mapapi.bundle     \   \   \   ------------------- 然後添加頭文件,如果頭文件報錯的話,就手打一遍,Xcode裡面有的時候會出現,不手打就找不到的情況。  
#import //引入base相關所有的頭文件

#import //引入地圖功能所有的頭文件

#import //引入檢索功能所有的頭文件

#import //引入雲檢索功能所有的頭文件

#import //引入定位功能所有的頭文件

#import //引入計算工具所有的頭文件

#import //引入周邊雷達功能所有的頭文件

#import //只引入所需的單個頭文件



-------------------
然後在你的 AppDelegate.h 裡面添加代理和屬性
 
\
 
-------------------
在AppDelegate.m上,改名,改成AppDelegate.mm 百度地圖文檔上要求做的,“為什麼”我沒看~
接下來,請把下面的內容復制
 

- (BOOL)application:(UIApplication *)application   
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {       // 要使用百度地圖,請先啟動BaiduMapManager  
    _mapManager = [[BMKMapManager alloc]init];   
// 如果要關注網絡及授權驗證事件,請設定     generalDelegate參數  
    BOOL ret = [_mapManager start:@"在此處輸入您的授權Key"  generalDelegate:nil];  
    if (!ret) {  
        NSLog(@"manager start failed!");  
    }  
// Add the navigation controller's view to the window and display.  
    [self.window addSubview:navigationController.view];  
    [self.window makeKeyAndVisible];  
   return YES;  
}
如果你要添加地圖功能的話,就在你要用的那個視圖上,打  
- (void)viewDidLoad {  
    [super viewDidLoad];  
    BMKMapView* mapView = [[BMKMapView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    self.view = mapView;      
}
(void)viewWillAppear:(BOOL)animated    
{    
    [_mapView viewWillAppear];    
    _mapView.delegate = self; // 此處記得不用的時候需要置nil,否則影響內存的釋放    
}    
-(void)viewWillDisappear:(BOOL)animated    
{    
    [_mapView viewWillDisappear];    
      _mapView.delegate = nil; // 不用時,置nil    
}
地圖完成了,如果需要其他功能去這個網址上找 http://lbsyun.baidu.com/index.php?title=iossdk/guide/hellobaidumap   ---------------------- 接下來,我要說下更加坑爹的定位,這個也是我用到百度地圖一直用到的功能,如果你想在一開始就得到定位請求的話,你需要在AppDelegate裡面寫這個內容
 //初始化BMKLocationService  
    _locService = [[BMKLocationService alloc]init];  
    _locService.delegate = self;  
    //啟動LocationService  
    [_locService startUserLocationService];  
然後寫
//實現相關delegate 處理位置信息更新  
//處理方向變更信息  
- (void)didUpdateUserHeading:(BMKUserLocation *)userLocation  
{  
    //NSLog(@"heading is%@",userLocation.heading);  
}  
//處理位置坐標更新  
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation  
{  
    //NSLog(@"didUpdateUserLocation lat%f,long%f",userLocation.location.coordinate.latitude,userLocation.location.coordinate.longitude);  
}
如果不調用的話,請在info.plist裡面添加 NSLocationAlwaysUsageDescription
NSLocationWhenInUseUsageDescription   \     你的定位系統就調用啦,本次就先寫到這裡吧,等有新的問題,接著更新
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved