浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

iOS 定位SDK

开发者在自己的iOS移动应用中集成定位SDK,可轻松实现获取当前位置信息的功能。获取当前位置信息,即我们常说的定位。其中位置信息主要包括经纬度、地址、位置描述、周边POI等

简介

移动热点判别功能指的是,可以通过接口调用,判别当前设备所链接的WIFI是否为移动热点。识别成功率可达到95%以上;识别正确率可达到98%。

使用场景:通过判断当前用户手机的上网状态是否为WIFI、是否为WIFI移动热点,从而执行对应的业务逻辑。

例如:视频等类型的应用,可以通过判别当前用户所连接的WIFI是否是移动热点,从而控制是否进行视频的自动播放,或者给予用户提示性信息。

实现移动热点识别能力的方法如下:

1引入头文件
在调用定位功能的类中引入 BMKLocationComponent.h 这个头文件
#import <BaiduMapAPI_Location/BMKLocationComponent.h>
2配置AK
在调用定位时,需要添加AK,需要注意的是请在 SDK 任何类的初始化以及方法调用之前设置正确的 AK。设置AK的方式如下:
[[BMKLocationAuth sharedInstance] checkPermisionWithKey:@"输入AK" authDelegate:self];
3初始化locationManager
_locationManager = [[BMKLocationManager alloc] init];
_locationManager.delegate = self;
4实现BMKLocationManagerDelegate的方法
- (void)BMKLocationManager:(BMKLocationManager * _Nonnull)manager
     didUpdateNetworkState:(BMKLocationNetworkState)state orError:(NSError * _Nullable)error
{
    NSString * result = nil;
    if (error) {
        result = @"识别结果:当前网络状态无法判断";
    } else {
        switch(state) {
            case BMKLocationNetworkStateWifi:
                result = @"识别结果:当前网络状态是wifi";
                break;
                
            case BMKLocationNetworkStateWifiHotSpot:
                result = @"识别结果:当前网络状态是WIFI移动热点";
                break;
            case BMKLocationNetworkStateMobile4G:
                result = @"识别结果:当前网络状态是4G";
                break;

            case BMKLocationNetworkStateMobile2G:
                result = @"识别结果:当前网络状态是2G";
                break;

            case BMKLocationNetworkStateMobile3G:
                result = @"识别结果:当前网络状态是3G";
                break;

            default:
                result = @"识别结果:当前网络状态无法判断";
                break;
        }
    }
    
}
5触发调用
[_locationManager requestNetworkState];