1、百度地图的功能非常强大,涵盖了定位、地图、导航及相关的路径查询计算,周边信息检索等,要学会这些功能的用法要从基础开始,一步一步来;
2、首先需要理解的是定位功能,后续地图展示也会使用到这个功能,所以先从获取GPS信息开始吧
3、百度地图中用来开启信息的类为BMKLocationService
4、BMKLocationService使用也非常简单,初始化–设置代理–代理输出信息,三步即可搞定!
5、看看简单的代码实现吧(只贴出了关键性的代码)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #import "SAViewController.h" #import "BMapKit.h" @interface SAViewController () @property (nonatomic, strong) BMKLocationService *location; // 定位服务 @end @implementation SAViewController - (void)viewDidLoad { [super viewDidLoad]; // 初始化定位服务 self.location = [[BMKLocationService alloc] init]; // 设定定位服务代理 self.location.delegate = self; // 开启定位服务功能 [self.location startUserLocationService]; } #pragma mark 获取定位信息后回调方法 - (void)didUpdateUserLocation:(BMKUserLocation *)userLocation { // 输出当前位置信息 NSLog(@"%@", userLocation.location); } @end |
6、代理会每隔一秒输出一次位置信息,代码中让程序输出一个CLLocation对象,包含了经纬度、移动速度、海拔高度及当前的时间等,如:
2014-11-17 10:43:36.496 MapDemo[10082:607] <+46.00750273,+110.01311632> +/- 5.00m (speed -1.00 mps / course -1.00) @ 11/17/14, 10:43:36 AM China Standard Time