使用AKLocationManager定位
https://github.com/ideaismobile/AKLocationManager
以下是使用情况:
是不是很简单呢,我们可以将它的步骤进一步封装,让它更简单!
源码如下:
YXLocationManager.h + YXLocationManager.m
// // YXLocationManager.h // MoreMapInfo // // Copyright (c) 2014年 Y.X. All rights reserved. // #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> typedef void(^locationBlock_t)(CLLocation* location, NSError *error); @interface YXLocationManager : NSObject + (void)getCurrentLocation:(locationBlock_t)locationBlock; @end
// // YXLocationManager.m // MoreMapInfo // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "YXLocationManager.h" #import "AKLocationManager.h" @implementation YXLocationManager + (void)getCurrentLocation:(locationBlock_t)locationBlock { // 设置定位精度(这个是必须设置的,否则无法定位) [AKLocationManager setDesiredAccuracy:kCLLocationAccuracyHundredMeters]; // 设置超时时间 [AKLocationManager setTimeoutTimeInterval:10]; // 先结束获取坐标 [AKLocationManager stopLocating]; // 开始定位坐标 [AKLocationManager startLocatingWithUpdateBlock:^(CLLocation* location) { locationBlock(location, nil); }failedBlock:^(NSError *error) { locationBlock(nil, error); }]; } @end
是不是很简单呢:).
附录:
// 动画定位到自身位置
[self.mapView setCenterCoordinate:location.coordinate
animated:YES];