2017年10月24日
v1.0
2018年01月11日
v1.1
2018年06月07日
v1.2
2018年07月09日
v1.21
1. 获取当前位置:基于iOS系统原生定位能力,提供单次定位、连续定位、后台定位能力;
2. 坐标转换:支持直接返回 gcj02、bd09ll、bd09mc、wgs84 类型的坐标。及坐标之间的转换能力;
3. 国内外判断:支持经纬度坐标,在空间上属于国内 / 海外;
4. 移动热点识别:能够识别当前设备所链接的 WIFI 是否为其他设备所开放的移动热点;
5. 地理围栏:在系统原生地理围栏能力之上,支持多边形围栏;
6. 地址信息获取:获取经纬度的同时,可获取当前地址信息(省、市、区、县等),全球同步支持;
7. 周边POI获取:获取经纬度的同时,可获取当前点周边POI(如周边商场、饭店等);
8. 当前位置描述:获取经纬度的同时,可获取更人性化的当前地点描述(如在百度大厦北侧等);
1. 适配iOS11永久定位的设置。
a. 开发者如果需要永久定位,请在Info.plist里配置NSLocationWhenInUseUsageDescription,NSLocationAlwaysUsageDescription,NSLocationAlwaysAndWhenInUseUsageDescription三项;
b. 如果仅需要使用期间的定位,则需要配置NSLocationWhenInUseUsageDescription,NSLocationAlwaysAndWhenInUseUsageDescription两项;
2. 优化WIFI移动热点识别方法的内部逻辑;
1. 新增获取定位唯一标识的方法BMKLocation.locationID,这个标识只与定位本身相关。当开发者遇到定位问题时,可将这个唯一标识、出现问题时间及问题描述信息发送至loc-bugs@baidu.com邮件组,我们会有专人支持解决;
2. 在开发者Debug过程中,增加首次定位的日志,便于开发者排查问题使用;
1、优化内部逻辑
2、优化定位错误码,最新错误码如下:
typedef NS_ENUM(NSInteger, BMKLocationErrorCode) { BMKLocationErrorUnKnown = 0, ///<未知异常 BMKLocationErrorLocFailed = 1, ///<位置未知,持续定位中 BMKLocationErrorDenied = 2, ///<手机不允许定位,请确认用户授予定位权限或者手机是否打开定位开关 BMKLocationErrorNetWork = 3, ///<因为网络原因导致系统定位失败 BMKLocationErrorHeadingFailed = 4, ///<获取手机方向信息失败 BMKLocationErrorGetExtraNetworkFailed = 5, ///<网络原因导致获取额外信息(地址、网络状态等信息)失败 BMKLocationErrorGetExtraParseFailed = 6, ///<网络返回数据解析失败导致获取额外信息(地址、网络状态等信息)失败 BMKLocationErrorFailureAuth = 7, ///<鉴权失败导致无法返回定位、地址等信息 };
1、解决目前与地图sdk里的定位组件冲突的问题,地图里的定位组件即将下线,建立开发者使用定位sdk
1、BMKLocationManager中新增属性,开发者可以设置自定义的用户id,方便后续百度可以查询相关日志,确认定位问题
@property(nonatomic, retain, nullable) NSString * userID; ///开发者可以指定该用户的id,用于后续统一识别用户,便于查找问题