# uni.onLocationChange(callback)

监听实时地理位置变化事件

# onLocationChange 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.81 4.81 4.81

# 参数

名称 类型 必填 默认值 兼容性 描述
listener (res: GetLocationSuccess) => void -
-

# GetLocationSuccess 的属性值

名称 类型 必备 默认值 兼容性 描述
latitude number 0
纬度,浮点数,范围为-90~90,负数表示南纬
longitude number 0
经度,范围为-180~180,负数表示西经
speed number 0
速度,浮点数,单位m/s
accuracy number -
位置的精确度
altitude number 0
高度,单位 m
verticalAccuracy number 0
垂直精度,单位 m(Android 无法获取,返回 0)
horizontalAccuracy number 0
水平精度,单位 m(Android、HarmonyOS 无法获取,返回 0)
address string null
地址信息

# 返回值

类型
number

# 参见

# uni.offLocationChange(callback)

移除实时地理位置变化事件。

# offLocationChange 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.81 4.81 4.81

# 参数

名称 类型 必填 默认值 兼容性 描述
listener number | (res: GetLocationSuccess) => void -
-

# GetLocationSuccess 的属性值

名称 类型 必备 默认值 兼容性 描述
latitude number 0
纬度,浮点数,范围为-90~90,负数表示南纬
longitude number 0
经度,范围为-180~180,负数表示西经
speed number 0
速度,浮点数,单位m/s
accuracy number -
位置的精确度
altitude number 0
高度,单位 m
verticalAccuracy number 0
垂直精度,单位 m(Android 无法获取,返回 0)
horizontalAccuracy number 0
水平精度,单位 m(Android、HarmonyOS 无法获取,返回 0)
address string null
地址信息

# 参见

# uni.onLocationChangeError(callback)

监听持续定位接口返回失败时触发。

# onLocationChangeError 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.81 4.81 4.81

# 参数

名称 类型 必填 默认值 兼容性 描述
listener (res: UniError) => void -
-

# 返回值

类型
number

# 参见

# uni.offLocationChangeError(callback)

移除监听持续定位接口返回失败事件。

# offLocationChangeError 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.81 4.81 4.81

# 参数

名称 类型 必填 默认值 兼容性 描述
listener number | (res: UniError) => void -
-

# 参见

# uni.startLocationUpdate(options)

开启应用进入前台时接收位置消息。

# startLocationUpdate 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.81 4.81 4.81

# 参数

名称 类型 必填 默认值 兼容性 描述
options StartLocationUpdateOptions -
-
名称 类型 必备 默认值 兼容性 描述
provider string -
定位服务提供商,通过 uni.getProvider 获取,目前支持系统定位(system)、腾讯定位(tencent), web端暂不支持provider机制。
type string -
默认为 wgs84 返回 gps 坐标,gcj02 返回可用于uni.openLocation的坐标,web端需配置定位 SDK 信息才可支持 gcj02;
合法值 兼容性 描述
wgs84
wgs84坐标系,系统定位默认取值wgs84,系统定位仅支持wgs84坐标系
gcj02
gcj02坐标系,腾讯定位默认取值gcj02,腾讯定位仅支持gcj02坐标系
success (result: StartLocationUpdateSuccess) => void -
接口调用成功的回调函数
fail (result: IGetLocationFail) => void -
接口调用失败的回调函数
complete (result: any) => void -
接口调用结束的回调函数(调用成功、失败都会执行)

# IGetLocationFail 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number -
-
错误码
合法值 兼容性 描述
1505003
系统定位未开启,请在系统设置中开启系统定位
1505004
应用定位权限未开启
1505023
不支持逆地理编码
1505600
超时
1505601
不支持的定位类型
1505602
捕获定位失败
1505603
逆地理编码捕获失败
1505604
服务供应商获取失败
1505605
未通过配置预校验,通常是腾讯定位 api key 配置错误
1505607
腾讯定位只支持GCJ-02
1505608
同一时间只能单个provider开启持续定位
1505700
不支持逆地理编码
1505701
没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请确定系统定位是否开启
1505702
iOS plist文件中缺少后台定位配置:UIBackgroundModes->location
1505800
应用高精度定位权限未开启
1505026
捕获定位失败 从4.25开始已经废弃
1505025
逆地理编码捕获失败 从4.25开始已经废弃
1505024
没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请定位开关是否已打开 从4.25开始已经废弃
1505022
不支持的定位类型 从4.25开始已经废弃
1505021
超时 从4.25开始已经废弃
1505005
缺失高精度权限授权(iOS特有) 从4.25开始已经废弃
errSubject string -
-
统一错误主题(模块)名称
data any -
-
错误信息中包含的数据
cause Error -
-
源错误信息,可以包含多个错误,详见SourceError
errMsg string -
-

# 参见

# uni.stopLocationUpdate(options)

关闭监听实时位置变化,前后台都停止消息接收。

# stopLocationUpdate 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.81 4.81 4.81

# 参数

名称 类型 必填 默认值 兼容性 描述
options StopLocationUpdateOptions -
-
名称 类型 必备 默认值 兼容性 描述
success (result: StopLocationUpdateSuccess) => void -
-
fail (result: IGetLocationFail) => void -
-
complete (result: any) => void -
-

# IGetLocationFail 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number -
-
错误码
合法值 兼容性 描述
1505003
系统定位未开启,请在系统设置中开启系统定位
1505004
应用定位权限未开启
1505023
不支持逆地理编码
1505600
超时
1505601
不支持的定位类型
1505602
捕获定位失败
1505603
逆地理编码捕获失败
1505604
服务供应商获取失败
1505605
未通过配置预校验,通常是腾讯定位 api key 配置错误
1505607
腾讯定位只支持GCJ-02
1505608
同一时间只能单个provider开启持续定位
1505700
不支持逆地理编码
1505701
没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请确定系统定位是否开启
1505702
iOS plist文件中缺少后台定位配置:UIBackgroundModes->location
1505800
应用高精度定位权限未开启
1505026
捕获定位失败 从4.25开始已经废弃
1505025
逆地理编码捕获失败 从4.25开始已经废弃
1505024
没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请定位开关是否已打开 从4.25开始已经废弃
1505022
不支持的定位类型 从4.25开始已经废弃
1505021
超时 从4.25开始已经废弃
1505005
缺失高精度权限授权(iOS特有) 从4.25开始已经废弃
errSubject string -
-
统一错误主题(模块)名称
data any -
-
错误信息中包含的数据
cause Error -
-
源错误信息,可以包含多个错误,详见SourceError
errMsg string -
-

# 参见

# uni.startLocationUpdateBackground(option)

开始监听实时地理位置信息变化事件,应用进入前后台时均接收实时地理位置信息。

# startLocationUpdateBackground 兼容性

Web 微信小程序 Android iOS HarmonyOS
4.0 4.41 4.81 4.81 4.81

# 参数

名称 类型 必填 默认值 兼容性 描述
options StartLocationUpdateBackgroundOptions -
-
名称 类型 必备 默认值 兼容性 描述
provider string -
定位服务提供商,通过 uni.getProvider 获取,目前支持系统定位(system)、腾讯定位(tencent), web端暂不支持provider机制。
type string -
默认为 wgs84 返回 gps 坐标,gcj02 返回可用于uni.openLocation的坐标,web端需配置定位 SDK 信息才可支持 gcj02;
合法值 兼容性 描述
wgs84
wgs84坐标系,系统定位默认取值wgs84,系统定位仅支持wgs84坐标系
gcj02
gcj02坐标系,腾讯定位默认取值gcj02,腾讯定位仅支持gcj02坐标系
success (result: StartLocationUpdateSuccess) => void -
接口调用成功的回调函数
fail (result: IGetLocationFail) => void -
接口调用失败的回调函数
complete (result: any) => void -
接口调用结束的回调函数(调用成功、失败都会执行)

# IGetLocationFail 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number -
-
错误码
合法值 兼容性 描述
1505003
系统定位未开启,请在系统设置中开启系统定位
1505004
应用定位权限未开启
1505023
不支持逆地理编码
1505600
超时
1505601
不支持的定位类型
1505602
捕获定位失败
1505603
逆地理编码捕获失败
1505604
服务供应商获取失败
1505605
未通过配置预校验,通常是腾讯定位 api key 配置错误
1505607
腾讯定位只支持GCJ-02
1505608
同一时间只能单个provider开启持续定位
1505700
不支持逆地理编码
1505701
没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请确定系统定位是否开启
1505702
iOS plist文件中缺少后台定位配置:UIBackgroundModes->location
1505800
应用高精度定位权限未开启
1505026
捕获定位失败 从4.25开始已经废弃
1505025
逆地理编码捕获失败 从4.25开始已经废弃
1505024
没有找到具体的定位引擎(GPS_PROVIDER,NETWORK_PROVIDER,PASSIVE_PROVIDER等),请定位开关是否已打开 从4.25开始已经废弃
1505022
不支持的定位类型 从4.25开始已经废弃
1505021
超时 从4.25开始已经废弃
1505005
缺失高精度权限授权(iOS特有) 从4.25开始已经废弃
errSubject string -
-
统一错误主题(模块)名称
data any -
-
错误信息中包含的数据
cause Error -
-
源错误信息,可以包含多个错误,详见SourceError
errMsg string -
-

# 参见

# 通用类型

# GeneralCallbackResult

名称 类型 必备 默认值 兼容性 描述
errMsg string -
错误信息