高德地图SDK(定位)  V2.10.0
AMapLocationManager Class Reference

AMapLocationManager类。初始化之前请设置 AMapServices 中的apikey(例如:[AMapServices sharedServices].apiKey = "您的key"),否则将无法正常使用服务. More...

#import <AMapLocationManager.h>

Inheritance diagram for AMapLocationManager:

Instance Methods

(AMapLocationAccuracyMode) - locationAccuracyMode
 设置定位数据回调精度模式,默认为AMapLocationAccuracyFullAndReduce。
注意:如果定位时未获得定位权限,则首先会调用申请定位权限API,实际定位精度权限取决于用户的权限设置。
————————————————————————————————————————————————————————————————
| 设置选项 | doRequireTemporaryFullAccuracyAuth | 异常/定位数据回调 |
| AMapLocationFullAndReduceAccuracy | 会触发申请临时精确定位回调 | 如果未获得精确定位权限,则依然开启定位,回调模糊定位 |
| AMapLocationFullAccuracy | 会触发申请临时精确定位回调 | 如果未获得精确定位权限,则不开启定位,回调error |
| AMapLocationReduceAccuracy | 不会触发申请临时精确定位回调 | 根据当前定位精度权限,回调定位数据 |
————————————————————————————————————————————————————————————————
当设置AMapLocationFullAndReduceAccuracy时,定位数据回调可通过currentAuthorization判断当前是否是精确定位 More...
 
(CLAccuracyAuthorization) - currentAuthorization
 获取当前定位精度权限。 More...
 
(void) - startUpdatingHeading
 开始获取设备朝向,如果设备支持方向识别,则会通过代理回调方法 More...
 
(void) - stopUpdatingHeading
 停止获取设备朝向 More...
 
(void) - dismissHeadingCalibrationDisplay
 停止设备朝向校准显示 More...
 
(BOOL) - requestLocationWithReGeocode:completionBlock:
 单次定位。如果当前正在连续定位,调用此方法将会失败,返回NO。
该方法将会根据设定的 desiredAccuracy 去获取定位信息。如果获取的定位信息精确度低于 desiredAccuracy ,将会持续的等待定位信息,直到超时后通过completionBlock返回精度最高的定位信息。
可以通过 stopUpdatingLocation 方法去取消正在进行的单次定位请求。 More...
 
(void) - startUpdatingLocation
 开始连续定位。调用此方法会cancel掉所有的单次定位请求。 More...
 
(void) - stopUpdatingLocation
 停止连续定位。调用此方法会cancel掉所有的单次定位请求,可以用来取消单次定位。 More...
 
(void) - startMonitoringForRegion:
 开始监控指定的region。如果已经存在相同identifier的region,则之前的region将会被移除。对 AMapLocationCircleRegion 类实例,将会优先监控radius小的region。 More...
 
(void) - stopMonitoringForRegion:
 停止监控指定的region More...
 
(void) - requestStateForRegion:
 查询一个region的当前状态。查询结果通过amapLocationManager:didDetermineState:forRegion:回调返回 More...
 

Class Methods

(BOOL) + headingAvailable
 设备是否支持方向识别 More...
 
(void) + updatePrivacyShow:privacyInfo:
 更新App是否显示隐私弹窗的状态,隐私弹窗是否包含高德SDK隐私协议内容的状态,注意:必须在AMapLocationManager实例化之前调用. since 2.8.0 More...
 
(void) + updatePrivacyAgree:
 更新用户授权高德SDK隐私协议状态,注意:必须在AMapLocationManager实例化之前调用. since 2.8.0 More...
 

Properties

id< AMapLocationManagerDelegatedelegate
 实现了 AMapLocationManagerDelegate 协议的类指针。 More...
 
CLLocationDistance distanceFilter
 设定定位的最小更新距离。单位米,默认为 kCLDistanceFilterNone,表示只要检测到设备位置发生变化就会更新位置信息。 More...
 
CLLocationAccuracy desiredAccuracy
 
BOOL pausesLocationUpdatesAutomatically
 指定定位是否会被系统自动暂停。默认为NO。 More...
 
BOOL allowsBackgroundLocationUpdates
 是否允许后台定位。默认为NO。只在iOS 9.0及之后起作用。设置为YES的时候必须保证 Background Modes 中的 Location updates 处于选中状态,否则会抛出异常。由于iOS系统限制,需要在定位未开始之前或定位停止之后,修改该属性的值才会有效果。 More...
 
NSInteger locationTimeout
 指定单次定位超时时间,默认为10s。最小值是2s。注意单次定位请求前设置。注意: 单次定位超时时间从确定了定位权限(非kCLAuthorizationStatusNotDetermined状态)后开始计算。 More...
 
NSInteger reGeocodeTimeout
 指定单次定位逆地理超时时间,默认为5s。最小值是2s。注意单次定位请求前设置。 More...
 
BOOL locatingWithReGeocode
 连续定位是否返回逆地理信息,默认NO。 More...
 
AMapLocationReGeocodeLanguage reGeocodeLanguage
 逆地址语言类型,默认是AMapLocationRegionLanguageDefault More...
 
NSSet * monitoredRegions
 获取被监控的region集合。 More...
 
BOOL detectRiskOfFakeLocation
 检测是否存在虚拟定位风险,默认为NO,不检测。
注意:设置为YES时,单次定位通过 AMapLocatingCompletionBlock 的error给出虚拟定位风险提示;连续定位通过 amapLocationManager:didFailWithError: 方法的error给出虚拟定位风险提示。error格式为 error.domain==AMapLocationErrorDomain; error.code==AMapLocationErrorRiskOfFakeLocation;
附带的error的详细信息参考 error.localizedDescription 中的描述以及 error.userInfo 中的信息(error.userInfo.AMapLocationRiskyLocateResult 表示有虚拟风险的定位结果; error.userInfo.AMapLocationAccessoryInfo 表示外接辅助设备信息)。 More...
 

Detailed Description

AMapLocationManager类。初始化之前请设置 AMapServices 中的apikey(例如:[AMapServices sharedServices].apiKey = "您的key"),否则将无法正常使用服务.

Method Documentation

◆ currentAuthorization

- (CLAccuracyAuthorization) currentAuthorization (ios(14.0)) 

获取当前定位精度权限。

Since
2.6.7

◆ dismissHeadingCalibrationDisplay

- (void) dismissHeadingCalibrationDisplay

停止设备朝向校准显示

◆ headingAvailable

+ (BOOL) headingAvailable

设备是否支持方向识别

Returns
YES:设备支持方向识别 ; NO:设备不支持支持方向识别

◆ locationAccuracyMode

- (AMapLocationAccuracyMode) locationAccuracyMode (ios(14.0)) 

设置定位数据回调精度模式,默认为AMapLocationAccuracyFullAndReduce。
注意:如果定位时未获得定位权限,则首先会调用申请定位权限API,实际定位精度权限取决于用户的权限设置。
————————————————————————————————————————————————————————————————
| 设置选项 | doRequireTemporaryFullAccuracyAuth | 异常/定位数据回调 |
| AMapLocationFullAndReduceAccuracy | 会触发申请临时精确定位回调 | 如果未获得精确定位权限,则依然开启定位,回调模糊定位 |
| AMapLocationFullAccuracy | 会触发申请临时精确定位回调 | 如果未获得精确定位权限,则不开启定位,回调error |
| AMapLocationReduceAccuracy | 不会触发申请临时精确定位回调 | 根据当前定位精度权限,回调定位数据 |
————————————————————————————————————————————————————————————————
当设置AMapLocationFullAndReduceAccuracy时,定位数据回调可通过currentAuthorization判断当前是否是精确定位

Since
2.6.7

◆ requestLocationWithReGeocode:completionBlock:

- (BOOL) requestLocationWithReGeocode: (BOOL)  withReGeocode
completionBlock: (AMapLocatingCompletionBlock completionBlock 

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

Parameters
withReGeocode是否带有逆地理信息(获取逆地理信息需要联网)
completionBlock单次定位完成后的Block
Returns
是否成功添加单次定位Request

◆ requestStateForRegion:

- (void) requestStateForRegion: ((deprecated("请使用AMapGeoFenceManager")))  __attribute__

查询一个region的当前状态。查询结果通过amapLocationManager:didDetermineState:forRegion:回调返回

Parameters
region要查询的region

◆ startMonitoringForRegion:

- (void) startMonitoringForRegion: ((deprecated("请使用AMapGeoFenceManager")))  __attribute__

开始监控指定的region。如果已经存在相同identifier的region,则之前的region将会被移除。对 AMapLocationCircleRegion 类实例,将会优先监控radius小的region。

Parameters
region要被监控的范围

◆ startUpdatingHeading

- (void) startUpdatingHeading

开始获取设备朝向,如果设备支持方向识别,则会通过代理回调方法

◆ startUpdatingLocation

- (void) startUpdatingLocation

开始连续定位。调用此方法会cancel掉所有的单次定位请求。

◆ stopMonitoringForRegion:

- (void) stopMonitoringForRegion: ((deprecated("请使用AMapGeoFenceManager")))  __attribute__

停止监控指定的region

Parameters
region要停止监控的范围

◆ stopUpdatingHeading

- (void) stopUpdatingHeading

停止获取设备朝向

◆ stopUpdatingLocation

- (void) stopUpdatingLocation

停止连续定位。调用此方法会cancel掉所有的单次定位请求,可以用来取消单次定位。

◆ updatePrivacyAgree:

+ (void) updatePrivacyAgree: (AMapPrivacyAgreeStatus)  agreeStatus

更新用户授权高德SDK隐私协议状态,注意:必须在AMapLocationManager实例化之前调用. since 2.8.0

Parameters
agreeStatus用户授权高德SDK隐私协议状态

◆ updatePrivacyShow:privacyInfo:

+ (void) updatePrivacyShow: (AMapPrivacyShowStatus)  showStatus
privacyInfo: (AMapPrivacyInfoStatus)  containStatus 

更新App是否显示隐私弹窗的状态,隐私弹窗是否包含高德SDK隐私协议内容的状态,注意:必须在AMapLocationManager实例化之前调用. since 2.8.0

Parameters
showStatus隐私弹窗状态
containStatus包含高德SDK隐私协议状态

Property Documentation

◆ allowsBackgroundLocationUpdates

- (BOOL) allowsBackgroundLocationUpdates
readwritenonatomicassign

是否允许后台定位。默认为NO。只在iOS 9.0及之后起作用。设置为YES的时候必须保证 Background Modes 中的 Location updates 处于选中状态,否则会抛出异常。由于iOS系统限制,需要在定位未开始之前或定位停止之后,修改该属性的值才会有效果。

◆ delegate

- (id<AMapLocationManagerDelegate>) delegate
readwritenonatomicweak

实现了 AMapLocationManagerDelegate 协议的类指针。

◆ desiredAccuracy

- (CLLocationAccuracy) desiredAccuracy
readwritenonatomicassign

设定期望的定位精度。单位米,默认为 kCLLocationAccuracyBest。定位服务会尽可能去获取满足desiredAccuracy的定位结果,但不保证一定会得到满足期望的结果。 注意:设置为kCLLocationAccuracyBest或kCLLocationAccuracyBestForNavigation时,单次定位会在达到locationTimeout设定的时间后,将时间内获取到的最高精度的定位结果返回。 ⚠️ 当iOS14及以上版本,模糊定位权限下可能拿不到设置精度的经纬度

◆ detectRiskOfFakeLocation

- (BOOL) detectRiskOfFakeLocation
readwritenonatomicassign

检测是否存在虚拟定位风险,默认为NO,不检测。
注意:设置为YES时,单次定位通过 AMapLocatingCompletionBlock 的error给出虚拟定位风险提示;连续定位通过 amapLocationManager:didFailWithError: 方法的error给出虚拟定位风险提示。error格式为 error.domain==AMapLocationErrorDomain; error.code==AMapLocationErrorRiskOfFakeLocation;
附带的error的详细信息参考 error.localizedDescription 中的描述以及 error.userInfo 中的信息(error.userInfo.AMapLocationRiskyLocateResult 表示有虚拟风险的定位结果; error.userInfo.AMapLocationAccessoryInfo 表示外接辅助设备信息)。

◆ distanceFilter

- (CLLocationDistance) distanceFilter
readwritenonatomicassign

设定定位的最小更新距离。单位米,默认为 kCLDistanceFilterNone,表示只要检测到设备位置发生变化就会更新位置信息。

◆ locatingWithReGeocode

- (BOOL) locatingWithReGeocode
readwritenonatomicassign

连续定位是否返回逆地理信息,默认NO。

◆ locationTimeout

- (NSInteger) locationTimeout
readwritenonatomicassign

指定单次定位超时时间,默认为10s。最小值是2s。注意单次定位请求前设置。注意: 单次定位超时时间从确定了定位权限(非kCLAuthorizationStatusNotDetermined状态)后开始计算。

◆ monitoredRegions

- (NSSet*) monitoredRegions
readnonatomiccopy

获取被监控的region集合。

◆ pausesLocationUpdatesAutomatically

- (BOOL) pausesLocationUpdatesAutomatically
readwritenonatomicassign

指定定位是否会被系统自动暂停。默认为NO。

◆ reGeocodeLanguage

- (AMapLocationReGeocodeLanguage) reGeocodeLanguage
readwritenonatomicassign

逆地址语言类型,默认是AMapLocationRegionLanguageDefault

◆ reGeocodeTimeout

- (NSInteger) reGeocodeTimeout
readwritenonatomicassign

指定单次定位逆地理超时时间,默认为5s。最小值是2s。注意单次定位请求前设置。


The documentation for this class was generated from the following file:
© 2017 高德信息技术有限公司 版权所有,保留所有权利。