关于百度地图加载的一些最初的配置
刚开始加载百度地图的时候出现很多的错误,
1. 导入头文件
1、解压缩 Lib 文件,其中 inc 文件夹内的.h 文件即为需要导入头文件,
示,将 inc 文件夹拷入到您的工程根目录下。
2、在 Xcode(请使用 Xcode 4.X 以上平台)中导入百度地图 API 的头文件,右键 工程选择“Add Files to ...”,
3、选择刚刚拷贝到工程根目录下的 inc 文件夹,即为添加成功。
4、设置头文件的链接路径,在 Xcode 的 Project -> Edit Active Target -> Build Settings -> Search Path -> Header Search Paths 中添加头文件目录:
"$(SRCROOT)/inc"
其中$(SRCROOT)宏代表您的工程文件所在目录。
5、在您需要使用百度地图 API 的文件中添加以下代码:
#import "BMapKit.h"
2. 导入静态库文件
百度 MapAPI 提供了模拟器和真机两种环境所使用的静态库文件,分别存放 在 libs/Release-iphonesimulator 和 libs/Release-iphoneos 文件夹下,其中[Release-i phonesimulator]文件夹下的 libbaidumapapi.a 为模拟器环境下使用的静态库文件, [Release-iphoneos]文件夹下的 libbaidumapapi.a 为真机环境下使用的静态库文件。
导入静态库文件的方式有如下 3 种:
第一种方式:
直接将当前运行环境下所对应的.a 文件(如果是真机是[Release-iphoneos] 文件夹下.a 库,如果是模拟器是[Release-iphonesimulator]文件夹下.a 库)拷贝 到您的工程目录下,并导入到工程中,即导入成功:
这种方式操作很简单,但缺点是每次在真机和模拟器相互切换编译时都需要 重新添加.a 文件。
第二种方式:
1、获取[Release-iphoneos]文件夹和[Release-iphonesimulator]文件夹所在位 置并拷贝:
2、使用 lipo 命令将设备和模拟器的.a 合并成一个通用的.a 文件,操作:
首先跳转到这两个文件夹所在的位置,然后使用如下命令将包含.a 文件的两 个文件夹合并生成的通用.a 文件:
lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbai dumapapi.a -output libbaidumapapi.a
3、合并成功后会在 libs 文件夹下生成一个 libbaidumapapi.a 文件,
4、将生成的 libbaidumapapi.a 文件拷贝到工程根目录并导入即可。
第三种方式:
1、将 API 的 libs 文件夹拷贝到您的工程根目录下:
2、导入 libs 文件夹,即导入成功:
3、设置静态库的链接路径,在 Xcode 的 Project -> Edit Active Target -> Build Settings -> Search Path -> Library Search Paths 中添加您的静态库目录
添加内容如下:
"$(SRCROOT)/libs/Release$(EFFECTIVE_PLATFORM_NAME)"
其中,$(SRCROOT)宏代表您的工程文件目录,$(EFFECTIVE_PLATFORM_NAME) 宏代表当前配置是 OS 还是 simulator,在编译时编译器会根据您当前的编译环境 自动匹配合适的.a 文件。
3. 导入framework
1、添加方式:
在XCode的Project -> Edit Active Target -> Build Phases ->Link Binary With
Libraries->点击下方的[+]添加即可,
2、添加以下.framework 文件:
百度地图 API 中提供了定位功能和动画效果,V2.0.0 版本开始使用 OpenGL 渲染,因此必须引入 CoreLocation.framework、QuartzCore.framework、 SystemConfiguration.framework、CoreGraphics.framework、OpenGLES.framework;
V2.0.2版本新增短串分享功能,如果您使用了通过信息来进行短串分享的功 能,需要额外引入 MessageUI.framework,如果您没有用到该功能则不需要引入;
V2.1.0 版本开始对 iOS7 系统下的 IMEI(设备唯一标识)进行了适配,因此 使用 V2.1.0 及以上版本必须要额外引入 Security.framework;
4. 导入资源文件
1、将资源文件 mapapi.bundle拷贝到您的工程根目录并导入至工 程;
2、资源文件中存储了定位、默认大头针标注 View 及路线关键点的资源图片,还 存储了矢量地图绘制必需的资源文件。资源文件的目录结构如下所示:
如果不需要使用内置的图片显示功能,则可以删除 bundle 文件中的 images 文件夹,您也可以根据具体需求任意替换或删除该 bundle 中 images 文件夹的图 片文件。
注意:若需要替换定位、指南针的图标,请保留原文件名称,否则不显示替 换的新图片,默认大头针标注与路线关键点的新图片名称可自定义名称。
5. 其他配置
1、静态库中采用 ObjectC++实现,因此需要您保证您工程中至少有一个.mm 后缀的源文件,您可以采取以下两种方法的任意一种来修改您的工程文件:
(1) 将任意一个.m 后缀的文件改名为.mm;
(2) 在工程属性中指定编译方式,即将 Xcode 的 Project -> Edit Active Target -> Build -> GCC4.2 - Language -> Compile Sources As 设 置 为 "Objective-C++";