接口说明 最后更新时间: 2021年11月23日
设置隐私合规接口
/// 设置是否已经包含高德隐私政策并弹窗展示显示用户查看,如果未包含或者没有弹窗展示,高德定位SDK将不会工作
/// 高德SDK合规使用方案请参考官网地址:https://lbs.amap.com/news/sdkhgsy
/// <b>必须保证在调用定位功能之前调用, 建议首次启动App时弹出《隐私政策》并取得用户同意</b>
/// 高德SDK合规使用方案请参考官网地址:https://lbs.amap.com/news/sdkhgsy
/// [hasContains] 隐私声明中是否包含高德隐私政策说明
/// [hasShow] 隐私权政策是否弹窗展示告知用户
static void updatePrivacyShow(bool hasContains, bool hasShow) {
_methodChannel
.invokeMethod('updatePrivacyStatement', {'hasContains': hasContains, 'hasShow': hasShow});
}
/// 设置是否已经取得用户同意,如果未取得用户同意,高德定位SDK将不会工作
/// 高德SDK合规使用方案请参考官网地址:https://lbs.amap.com/news/sdkhgsy
/// <b>必须保证在调用定位功能之前调用, 建议首次启动App时弹出《隐私政策》并取得用户同意</b>
/// [hasAgree] 隐私权政策是否已经取得用户同意
static void updatePrivacyAgree(bool hasAgree) {
_methodChannel
.invokeMethod('updatePrivacyStatement', {'hasAgree': hasAgree});
}
设置定位参数
将您设置的参数传递到原生端对外接口,目前支持以下定位参数
/// 是否需要地址信息,默认true
bool needAddress = true;
///逆地理信息语言类型
///默认[GeoLanguage.DEFAULT] 自动适配
///可选值:
///[GeoLanguage.DEFAULT] 自动适配
///[GeoLanguage.EN] 英文
///[GeoLanguage.ZH] 中文
GeoLanguage geoLanguage;
///是否单次定位
///默认值:false
bool onceLocation = false;
///Android端定位模式, 只在Android系统上有效>
///默认值:[AMapLocationMode.Hight_Accuracy]
///可选值:
///[AMapLocationMode.Battery_Saving]
///[AMapLocationMode.Device_Sensors]
///[AMapLocationMode.Hight_Accuracy]
AMapLocationMode locationMode;
///Android端定位间隔
///单位:毫秒
///默认:2000毫秒
int locationInterval = 2000;
///iOS端是否允许系统暂停定位
///默认:false
bool pausesLocationUpdatesAutomatically = false;
/// iOS端期望的定位精度, 只在iOS端有效
/// 默认值:最高精度
/// 可选值:
/// [DesiredAccuracy.Best] 最高精度
/// [DesiredAccuracy.BestForNavigation] 适用于导航场景的高精度
/// [DesiredAccuracy.NearestTenMeters] 10米
/// [DesiredAccuracy.Kilometer] 1000米
/// [DesiredAccuracy.ThreeKilometers] 3000米<
DesiredAccuracy desiredAccuracy = DesiredAccuracy.Best;
/// iOS端定位最小更新距离
/// 单位:米
/// 默认值:-1,不做限制
double distanceFilter = -1;
开始定位
停止定位
销毁定位
高德定位Flutter插件,支持多实例,请在weidet执行dispose()时调用当前定位插件的销毁方法
定位结果返回
原生端以键值对map的形式回传定位结果到Flutter端
Flutter端获取定位结果
定位结果键值参数说明
字段名称 | 类型 | 含义 | 备注 |
---|---|---|---|
callBackTime | String | 定位结果回调时间 | |
locationTime | String | 定位时间 | |
locationType | int | 定位类型 | iOS只会返回1 Android返回类型请参考官网说明:https://lbs.amap.com/api/android-location-sdk/guide/utilities/location-type |
latitude | double | 维度 | |
longitude | double | 维度 | |
accuracy | double | 精确度(定位半径) | |
altitude | double | 海拔高度 | Android: 定位类型为非GPS时,返回0 |
bearing | double | 角度信息 | Android: 定位类型为非GPS时,返回0 |
speed | double | 速度信息 | Android: 定位类型为非GPS时,返回0 |
country | String | 国家 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
province | String | 省份 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
city | String | 城市 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
district | String | 区县 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
street | String | 街道名称 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
streetNumber | String | 门牌号 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
cityCode | String | 城市编码 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
adCode | String | 地域编码 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
address | String | 地址信息 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
description | String | 位置语义描述 | Android:定位类型为GPS时有可能返回空 iOS:连续定位时有可能返回空 |
errorCode | int | 错误码 | 错误码信息请参考: Android:https://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode |
errorInfo | String | 错误信息 |