使用AKLocationManager定位-阿里云开发者社区

开发者社区> 云计算> 正文

使用AKLocationManager定位

简介:

使用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];

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章