使用AKLocationManager定位

本文介绍了一种使用YXLocationManager库简化iOS设备定位过程的方法,通过封装核心步骤,使得定位功能更加易于集成和使用。具体包括设置定位精度、超时时间,以及启动和停止定位流程等关键操作,最终通过回调函数获取当前位置信息。

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值