iOS百度地图SDK基本配置和使用

介绍:在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;  
}

2、在viewController.m文件中
- (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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值