iOS地图开发之引入第三方百度地图

(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地图更接“地气”


你可能感兴趣的:(ios开发,ios培训,iOS开发培训)