使用

组件介绍

TMF 定位 SDK 可以让您轻松使用定位服务,构建 LBS 应用程序。基于强大的 CoreLocation系统库,能够使用 Wi-Fi,蜂窝数据等多种方式进行位置确认。

单次定位

权限相关

定位功能需要开启权限后才能使用。

/*
@brief 查看当前定位服务是否可用(系统定位开关)
*/
+ (BOOL)locationServicesEnabled;
/*
@brief 是否允许App使用定位服务(App定位开关、并且已授权,不受家长控制等)
*/
+ (BOOL)authorizationStatusAuthorized;    // NotDetermined = NO
+ (BOOL)authorizationStatusAllowed;            // NotDetermined = YES

定位回调协议

/*
@brief    定位信息正常返回时的回调方法
*/
- (void)TMFLocationManager:(TMFLocationManager *)locationManager didFinishWithLocation:(CLLocation *)location;
/*
@brief    定位失败的回调方法
*/
- (void)TMFLocationManager:(TMFLocationManager *)locationManager didFailWithError:(NSError *)error;

定位功能使用与停止

/**
 *  开始请求定位
 */
- (void)startRequestLocation;

/**
 *  停止请求定位
 */
- (void)stopRequestLocation;

调用示例

self.locationManager = [[TMFLocationManager alloc] init];
self.locationManager.locationDelegate = self;
[self.locationManager startRequestLocation];

实时定位

请求实时定位

/**
 *  请求实时定位
 *  @param successHandler       请求成功回调
 *  @param failureHandler       请求失败回调
 *  @return                     请求的唯一标识,用于 `-cancelRequest:`
 */
- (TMFLocationRequestIdentifier)requestLocationWithSuccessHandler:(nullable TMFLocationSuccessHandler)successHandler failureHandler:(nullable TMFLocationFailureHandler)failureHandler;
/**
 *  请求实时定位
 *  @param cacheOptions         缓存设置
 *  @param successHandler       请求成功回调
 *  @param failureHandler       请求失败回调
 *  @return                     请求的唯一标识,用于 `-cancelRequest:`
 */
- (TMFLocationRequestIdentifier)requestLocationWithCacheOptions:(nullable TMFLocationCacheOptions *)cacheOptions successHandler:(nullable TMFLocationSuccessHandler)successHandler failureHandler:(nullable TMFLocationFailureHandler)failureHandler;
参数名 类型 说明
cacheOptions TMFLocationCacheOptions 设置缓存的清理时间,默认5分钟
successHandler TMFLocationSuccessHandler 位置信息成功返回回调
failureHandler TMFLocationFailureHandler 位置信息失败返回回调

调用示例

[[TMFLocationCenter sharedCenter] requestLocationWithSuccessHandler:^(CLLocation * _Nonnull location) {
        // 成功返回位置信息
} failureHandler:^(NSError * _Nonnull error) {
      // 失败回调
}]

取消定位

- (void)cancelRequest:(TMFLocationRequestIdentifier)identifier;

清理缓存定位

- (nullable CLLocation *)fetchCachedLocationWithOptions:(TMFLocationCacheOptions *)cacheOptions;
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""