(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)
第二部分:依赖百度地图
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地图更接“地气”