zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS开发—集成百度地图详解手机开发

ios集成百度手机开发 详解 &# 地图
2023-06-13 09:20:15 时间

由于iOS MapKit框架很多情况并不能满足我们的需求,我们可以选择集成百度地图,那该如何操作呢?

申请Key

登录百度API管理中心申请Key

http://lbsyun.baidu.com/apiconsole/key

创建一个应用

iOS开发---集成百度地图详解手机开发

箭头所指就是我们所要用到的Key

下载SDK

http://developer.baidu.com/map/static/doc/output_ios/BaiduMap_IOSSDK_v2.6.0_All.zip

如何使用开发包可以参考开发指南

http://developer.baidu.com/map/index.php?title=iossdk

iOS开发---集成百度地图详解手机开发

开发包结构

解压开发包后,有3个文件夹

iOS开发---集成百度地图详解手机开发

 

集成开发包

接下来新建第一个百度地图应用,步骤如下

合并真机和模拟器的.a库文件 添加依赖的.a、.h、framework、bundle等资源 新建.mm文件 修改软件唯一标识 导入主头文件 开启地图引擎 1.合并真机和模拟器的.a库文件

百度地图并未开源,只提供了静态库文件libbaidumapapi.a,有真机和模拟器版,分别放在下面两个文件夹中:

BaiduMap_iOSSDK_v2.6.0_Lib/libs/Release-iphoneos BaiduMap_iOSSDK_v2.6.0_Lib/libs/Release-iphonesimulator

为了避免每次在真机和模拟器编译时都重新添加.a文件,应该将两个.a文件合并为一个,在终端上输入一下指令:

cd /这里是百度地图SDK根路径/BaiduMap_iOSSDK_v2.1.0_Lib/libs

lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a

iOS开发---集成百度地图详解手机开发

2.添加依赖的.a、.h、framework、bundle等资源

 

将BaiduMap_iOSSDK_v2.1.0_Lib下面的inc文件夹、mapapi.bundle添加到项目中

iOS开发---集成百度地图详解手机开发

添加合并后的libbaidumapapi.a库文件到项目中

iOS开发---集成百度地图详解手机开发

添加依赖的框架

CoreLocation.framework

QuartzCore.framework

OpenGLES.framework

SystemConfiguration.framework

CoreGraphics.framework

Security.framework(2.1.0开始需要)

最终项目里面多出的东西是:

 

iOS开发---集成百度地图详解手机开发   iOS开发---集成百度地图详解手机开发

 

3.新建.mm文件

静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm)

iOS开发---集成百度地图详解手机开发

 

4.修改软件唯一标识

修改软件唯一标识为当初申请key时的安全码

5.导入主头文件

使用地图前需要导入SDK的主头文件

#import  BMapKit.h

6.开启地图引擎
复制代码
1 _mapMgr = [[BMKMapManager alloc] init]; 

3 int ret =[_mapMgr start:@"0F0dd93edfd75399dc65e299305b8490" generalDelegate:nil]; 

5 if (ret) { 

7 MyLog(@"地图引擎开启成功!"); 

9 }
复制代码

 

 start后面传递的是申请的key

7.地图展示

添加展示地图的BMKMapView

1 _mapView = [[BMKMapView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame]; 

3 [self.view addSubview:_mapView];

注意事项:遇见什么问题一定要查文档,按照文档一步步来,文档说的十分详细,如果地图显示不出来,把模拟器重置一下就行了

 

 iOS开发---集成百度地图详解手机开发