(1)加入百度開發者計劃
百度賬號——> 是 ——> 加入開發者
無 ——> 申請賬號加入開發者計劃
以個人或者公司名義註冊就OK了,很簡單。
(2)下載iOS版本SDK
http://developer.baidu.com/map/sdkiosdev-download.htm
主要包含三個文件夾:
a.離線參考文檔 —— BaiduMap_iOSSDK_v2.1.1_Docs
b.靜態庫文件 —— BaiduMap_iOSSDK_v2.1.1_Lib
c.百度地圖的Demo —— BaiduMap_iOSSDK_v2.1.1_Sample
(3)依賴百度地圖
第一部分:申請應用
a.在線申請應用(三種方式,移動端、瀏覽器以及服務器,這裏我們選擇移動客戶端)
注意“安全碼"的填寫應與我們創建工程的“Bundle Identifier”一致,如下圖所示:
b.申請完成後可以得到“AK”(access key)
b.申請完成後可以得到“AK”(access key)
第二部分:依賴百度地圖
a.合併靜態庫文件
正如,baidu官方所述,依賴百度地圖靜態庫的方式存在三種方式(http://developer.baidu.com/map/sdkiosdev-2.htm)
本文采用baidu推薦的第二種方式,將模擬器和真機的靜態庫合併成一個.a的文件。
打開終端,“cd”到“libs”目錄下(該文件是已下載好的靜態庫文件——“BaiduMap_iOSSDK_v2.1.1_Lib”),執行以下命令:
lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a
最終生成 一個“libbaidumapapi.a”,如下圖所示:
最後,導入頭文件(inc)、包文件(mapapi.bundle)以及靜態庫文件(libbadumapapi.a)
b.添加依賴庫文件
共包含5個系統的庫文件,CoreLocation.framework, SystemConfiguration.framework, Security.framework, OpenGLES.framework, QuartzCore.framework。
注意,“security.framework”框架是百度地圖LBS開放平臺2.0.1版本後才需要添加。如下圖所示:
第三部分:注意事項
a.注意添加資源包“mapapi.bundle”,內含百度地圖的資源文件。
b.由於百度的靜態包文件是由objective C++實現,因此,你的工程至少需要將一個.m文件的後綴修改爲.mm
這樣編譯器將會編譯C++的源文件
c.如果程序出現“-[__NSCFString stringFromMD5]: unrecognized selector sent to instance ”,在other linker flag中添加“-ObjC” 可以得到解決
第四部分:編譯、運行
a.引入“BMapKit.h”頭文件,編譯,查看是否出現鏈接錯誤
b.授權,參數填寫“AK”
(5)如何學習百度地圖API
請查看“BaiduMap_iOSSDK_v2.1.1_Docs”離線文檔,如果你已經有使用蘋果官方地圖API方面的經驗,那麼使用baidu的地圖更會得心應手
baidu地圖更接“地氣”