iOS百度地图SDK基本配置和使用
来源:互联网 发布:最好网络武侠小说 编辑:程序博客网 时间:2024/05/20 17:09
介绍:在iOS的开发中,有些应用需要实现与地图相关功能,这时候可以选择使用苹果自带的框架进行实现,也可以选择使用百度所提供的这个第三方SDK进行功能的实现,下面将对百度地图的SDK的基本使用进行说明:
一、下载百度地图SDK
首先,开发者需要到百度地图IOS SDK下载界面去下载百度所提供的第三方框架,下载地址为:http://developer.baidu.com/map/index.php?title=iossdk/sdkiosdev-download , 进入下载页面后,可以选择两种不同形式的静态库(在本文介绍中使用的是.framework的静态库),可以选择全部下载和自定义下载
二、申请百度地图SDK开发密钥
其次,如果要使用百度地图的SDK,那么需要到百度地图到 http://lbsyun.baidu.com/apiconsole/key 这里去申请百度地图iOS SDK开发密钥(这个密钥所生成的安全码将在程序中使用到) , 申请密钥的详细教程请看 http://developer.baidu.com/map/index.php?title=iossdk/guide/key
到这里,需要做的提前准备就弄好了,接着就要开始进行应用中的操作了
三、进行项目代码之前,需要对SDK进行几项配置
1、由于SDK中是采用ObjectC++实现的,所以需要保证项目中至少有一个.mm文件的源文件(建议将AppDelegate.m文件的后缀改为.mm,因为在后面的配置中也会对AppDelegate进行处理)
2、需要在以下路径中添加 -ObjC : PROJECT -> Build Setting -> Linking -> Other Linker Flags
路径图为:
3、在plist文件中需要进行这样的处理:选择
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
两项中任意一项(如果两项都写电话,那么默认是第一个),配置方法是在key的位置写上这个,然后在value的位置写上YES
4、需要在info.plist文件中加入一项(因为在xcode6版本后面plist文件少了这项),Bundle display name(表示app在桌面上显示的名字) 这个不能为空或者不写,否则会报错为,manager start failed
5、应该将下载的SDK包中的mapapi.bundle(存储了定位、默认大头针View和线路相关的资源图片) 导入到项目中,但是要注意导入方法,可以直接将项目拖到Xcode左侧的Groups&Files中去。将资源导入之后,可以对里面的图片进行一个更换,来创建属于自己的界面,但是要注意的是不要将图片的名字替换
四、配置开发环境
1、选择并导入框架
百度地图SDK提供了针对于模拟器和真机使用的两套framework,在下载的SDK包中可以看到,我们可以根据需要去选择其中一个要使用的包,针对于定位绘制轨迹后期需要使用真机来测试精度以及一些参数的项目来说,需要在模拟器和真机上都进行测试,那么就需要使用lipo命令进行融合,先给出一个例子:
lipo -create Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI Release-iphonesimulator/BaiduMapAPI.framework/BaiduMapAPI
-output Release-iphoneos/BaiduMapAPI.framework/BaiduMapAPI
使用方法:lipo -creat (BaiduMapAPI在开发包中模拟器下的位置) (BaiduMapAPI在开发包中真机下的位置) -output (BaiduMapAPI在开发包中真机下的位置)
2、引入所需要的系统库
在这个项目中我们所需要引入的系统库有6个
CoreLocation.framework
QuartzCore.framework
OpenGLES.framework
SystemConfiguration.framework
CoreGraphics.framework
Security.framework
导入库的方法是:TARGETS-> Build Phases -> Link Binary With Libraries
路径图为:
五、基本功能的实现
1、在AppDelegate.m文件中(里面的一些属性需要定义)
- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 要使用百度地图,需要先初始化和启动BaiduMapManager _mapManager = [[BMKMapManager alloc]init]; // 如果要关注网络及授权验证事件,请设定generalDelegate的参数 BOOL ret = [_mapManager start:@"之前申请的密钥里面的授权key" generalDelegate:nil]; if (!ret) { NSLog(@"manager start failed!"); } return YES; }
- (void)viewDidLoad { [super viewDidLoad]; self.view = mapView; }
(void)viewWillAppear:(BOOL)animated { [_mapView viewWillAppear]; // 在这里设置代理,代理的代理方法和视图的展示有关 _mapView.delegate = self;} -(void)viewWillDisappear:(BOOL)animated { [_mapView viewWillDisappear]; // 大多数情况下,应该在这里设置代理为空,防止影响到内存的释放,但是如果是进行绘制轨迹这种要求app在后台的时候仍然执行视图刷新的功能的时候,代理就不应该被关掉 _mapView.delegate = nil; }
六、到此,基本的地图就可以展示出来了
如果需要进一步的设置地图有关的功能,可以访问苹果地图SDK官网 http://developer.baidu.com/map/index.php?title=iossdk/guide/basicmap
0 0
- iOS百度地图SDK基本配置和使用
- 百度地图SDK 基本使用
- iOS 百度地图SDK使用
- iOS开发-开发百度地图1-iOS SDK 3.0.0-基本地图的配置及实现
- Swift - 百度地图SDK的配置和使用(附样例)
- 百度地图 ios sdk的简单配置
- 百度地图ios sdk使用纪录。。。。
- iOS 百度地图SDK使用小结
- iOS 百度地图SDK使用漫谈
- 利用百度地图SDK进行开发时申请key和基本配置以及一个小问题
- 百度地图SDK使用
- 百度地图SDK使用
- 百度地图SDK 使用
- 使用百度地图sdk
- 百度地图sdk使用
- iOS百度地图的基本使用
- 关于iOS百度地图的基本使用
- iOS百度地图的基本使用
- bzoj-3791 作业
- UVA 10014(推公式)
- stm32编译前为什么要配置keil中C/C++中的define 和include Paths?
- 超链接收集
- 排序算法系列——直接选择排序
- iOS百度地图SDK基本配置和使用
- Day8.12
- poj 1637 Sightseeing tour 混和欧拉图 dinic
- Android闹钟
- kphp开源框架学习篇之kphp框架整合smarty的全面讲解!
- Java连接Access 2013
- UITextField 详解
- 第三周第四天
- scalability system design