百度定位SDK for iOS v1.7 类参考
构造函数 | 类方法 | 属性 | 所有成员列表
BMKLocationManager类 参考

BMKLocationManager类。初始化之前请设置 BMKLocationAuth 中的APIKey,否则将无法正常使用服务. 更多...

#import <BMKLocationManager.h>

类 BMKLocationManager 继承关系图:

构造函数

(BOOL) - requestLocationWithReGeocode:withNetworkState:completionBlock:
 单次定位。如果当前正在连续定位,调用此方法将会失败,返回NO。
该方法将会根据设定的 desiredAccuracy 去获取定位信息。如果获取的定位信息精确度低于 desiredAccuracy ,将会持续的等待定位信息,直到超时后通过completionBlock返回精度最高的定位信息。
可以通过 stopUpdatingLocation 方法去取消正在进行的单次定位请求。 更多...
 
(void) - startUpdatingLocation
 开始连续定位。调用此方法会cancel掉所有的单次定位请求。
 
(void) - stopUpdatingLocation
 停止连续定位。调用此方法会cancel掉所有的单次定位请求,可以用来取消单次定位。
 
(void) - requestNetworkState
 请求网络状态结果回调。
 
(void) - startUpdatingHeading
 该方法为BMKLocationManager开始设备朝向事件回调。
 
(void) - stopUpdatingHeading
 该方法为BMKLocationManager停止设备朝向事件回调。
 
(void) - tryIndoorLocation
 该方法为BMKLocationManager尝试使用高精度室内定位。在特定的室内场景下会有更高精度的定位回调,只在室内定位版本生效。
 
(void) - stopIndoorLocation
 该方法为BMKLocationManager会关闭高精度室内定位,只在室内定位版本生效。
 

类方法

(BOOL) + headingAvailable
 该方法返回设备是否支持设备朝向事件回调。 更多...
 
(CLLocationCoordinate2D) + BMKLocationCoordinateConvert:SrcType:DesType:
 转换为百度经纬度的坐标 更多...
 
(BOOL) + BMKLocationDataAvailableForCoordinate:withCoorType:
 判断目标经纬度是否在大陆以及港、澳地区。 更多...
 

属性

id< BMKLocationManagerDelegate > delegate
 实现了 BMKLocationManagerDelegate 协议的类指针。
 
CLLocationDistance distanceFilter
 设定定位的最小更新距离。默认为 kCLDistanceFilterNone。
 
CLLocationAccuracy desiredAccuracy
 设定定位精度。默认为 kCLLocationAccuracyBest。
 
CLActivityType activityType
 设定定位类型。默认为 CLActivityTypeAutomotiveNavigation。
 
BMKLocationCoordinateType coordinateType
 设定定位坐标系类型。默认为 BMKLocationCoordinateTypeGCJ02。
 
BOOL pausesLocationUpdatesAutomatically
 指定定位是否会被系统自动暂停。默认为NO。
 
BOOL allowsBackgroundLocationUpdates
 是否允许后台定位。默认为NO。只在iOS 9.0及之后起作用。设置为YES的时候必须保证 Background Modes 中的 Location updates 处于选中状态,否则会抛出异常。由于iOS系统限制,需要在定位未开始之前或定位停止之后,修改该属性的值才会有效果。
 
NSInteger locationTimeout
 指定单次定位超时时间,默认为10s。最小值是2s。注意单次定位请求前设置。注意: 单次定位超时时间从确定了定位权限(非kCLAuthorizationStatusNotDetermined状态)后开始计算。
 
NSInteger reGeocodeTimeout
 指定单次定位逆地理超时时间,默认为10s。最小值是2s。注意单次定位请求前设置。
 
BOOL locatingWithReGeocode
 连续定位是否返回逆地理信息,默认YES。
 
BOOL isNeedNewVersionReGeocode
 定位sdk-v1.3之后,开发者可以选择是否需要最新版本rgc数据,默认是不需要NO;YES的情况下,定位sdk会实时返回最新的rgc数据,如城市变更等数据都会实时更新
 
NSString * userID
 开发者可以指定该用户的id,用于后续统一识别用户,便于查找问题
 

详细描述

BMKLocationManager类。初始化之前请设置 BMKLocationAuth 中的APIKey,否则将无法正常使用服务.

函数文档

◆ BMKLocationCoordinateConvert:SrcType:DesType:()

+ (CLLocationCoordinate2D) BMKLocationCoordinateConvert: (CLLocationCoordinate2D)  coordinate
SrcType: (BMKLocationCoordinateType)  srctype
DesType: (BMKLocationCoordinateType)  destype 

转换为百度经纬度的坐标

参数
coordinate待转换的经纬度
srctype待转换坐标系类型
destype目标百度坐标系类型(bd09ll,bd09mc)
返回
目标百度坐标系经纬度

◆ BMKLocationDataAvailableForCoordinate:withCoorType:()

+ (BOOL) BMKLocationDataAvailableForCoordinate: (CLLocationCoordinate2D)  coordinate
withCoorType: (BMKLocationCoordinateType)  coortype 

判断目标经纬度是否在大陆以及港、澳地区。

参数
coordinate待判断的目标经纬度
coortype待判断经纬度的坐标系类型
返回
是否在大陆以及港、澳地区

◆ headingAvailable()

+ (BOOL) headingAvailable

该方法返回设备是否支持设备朝向事件回调。

返回
是否支持设备朝向事件回调

◆ requestLocationWithReGeocode:withNetworkState:completionBlock:()

- (BOOL) requestLocationWithReGeocode: (BOOL)  withReGeocode
withNetworkState: (BOOL)  withNetWorkState
completionBlock: (BMKLocatingCompletionBlock _Nonnull)  completionBlock 

单次定位。如果当前正在连续定位,调用此方法将会失败,返回NO。
该方法将会根据设定的 desiredAccuracy 去获取定位信息。如果获取的定位信息精确度低于 desiredAccuracy ,将会持续的等待定位信息,直到超时后通过completionBlock返回精度最高的定位信息。
可以通过 stopUpdatingLocation 方法去取消正在进行的单次定位请求。

参数
withReGeocode是否带有逆地理信息(获取逆地理信息需要联网)
withNetWorkState是否带有移动热点识别状态(需要联网)
completionBlock单次定位完成后的Block
返回
是否成功添加单次定位Request

该类的文档由以下文件生成: