zoukankan      html  css  js  c++  java
  • 关于百度地图加载的一些最初的配置

    刚开始加载百度地图的时候出现很多的错误,

    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++"; 

    握不住的沙,干脆扬了它。
  • 相关阅读:
    [CSS] prefers-reduced-motion
    [VSCode] Adding Custom Syntax Highlighting to a Theme in VSCode
    Subversion/Git/ReviewBoard工作流程
    oracle hints
    Node.js学习(10)----文件系统fs
    网络子系统41_inet_peer平衡二叉树的删除
    由链表初始化看C语言的二级指针
    挣值管理不是搞数字游戏(4)——让挣值管理实用!
    关于数据库一致改关闭下redo日志文件丢失的处理办法的总结
    Android 操作系统的内存回收机制
  • 原文地址:https://www.cnblogs.com/zj901203/p/4092215.html
Copyright © 2011-2022 走看看