Appearance
qin.onLocationChange(FUNCTION CALLBACK)
监听实时地理位置变化事件,需结合 qin.startLocationUpdate 或 qin.startLocationUpdateBackground 使用。
平台差异说明
| H5 | 微信小程序 | 小红书小程序 | 抖音小程序 | 快手小程序 |
|---|---|---|---|---|
| √ | √ | √ | √ | √ |
FUNCTION CALLBACK 参数
| 参数名 | 类型 | 说明 | 平台差异说明 |
|---|---|---|---|
| latitude | Number | 纬度,范围为 -90~90,负数表示南纬。 | |
| longitude | Number | 经度,范围为 -180~180,负数表示西经。 | |
| speed | Number | 速度 (m/s) | H5不支持 |
| accuracy | number | 位置的精确度 | |
| altitude | number | 高度 (m) | H5不支持 |
| verticalAccuracy | number | 垂直精度 (m) | 抖音小程序、快手小程序 Android 无法获取,返回 0 |
| horizontalAccuracy | number | 水平精度 (m) | 抖音小程序不支持 |
| city | string | 定位到的城市信息 | 百度小程序、抖音小程序(iOS 不支持) |
| cityCode | String | 城市编码 | |
| street | String | 街道名称 | |
| city | String | 城市名称 | |
| country | String | 国家 | |
| countryCode | String | 国家代码 | |
| province | String | 省份 | |
| streetNumber | String | 街道号码 | |
| district | String | 区 | |
| isFullAccuracy | Boolean | 是不是精确定位信息 |
注意
- 该方法会持续监听地理位置信息的变化,建议在不需要监听地理位置信息变化后,直接调用
qin.stopLocationUpdate方法取消监听。 微信小程序若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,详情抖音小程序调用此 API 需要申请高精度权限,具体信息见高精度定位运营规范。
示例
js
qin.onLocationChange((theRes) => {
console.log('纬度:' + theRes.latitude);
console.log('经度:' + theRes.longitude);
});qin.onLocationChange((theRes) => {
console.log('纬度:' + theRes.latitude);
console.log('经度:' + theRes.longitude);
});qin.offLocationChange(FUNCTION CALLBACK)
关闭监听实时位置变化,前后台都停止消息接收。
平台差异说明
| H5 | 微信小程序 | 小红书小程序 | 抖音小程序 | 快手小程序 |
|---|---|---|---|---|
| √ | √ | √ | √ | √ |
注意:H5 端 CALLBACK 参数为必填。
FUNCTION CALLBACK 参数
| 参数名 | 类型 | 说明 | 平台差异说明 |
|---|---|---|---|
| latitude | number | 纬度,范围 [-90, 90],负数表示南纬 | 快手小程序 |
| longitude | number | 经度,范围 [-180, 180],负数表示西经 | 快手小程序 |
| speed | number | 速度 (m/s) | 快手小程序 |
| accuracy | number | 位置的精确度 | 快手小程序 |
| altitude | number | 高度 (m) | 快手小程序 |
| verticalAccuracy | number | 垂直精度 (m)(Android 无法获取,返回 0) | 快手小程序 |
| horizontalAccuracy | number | 水平精度 (m) | 快手小程序 |
qin.onLocationChangeError(CALLBACK)
监听持续定位接口返回失败时触发。
平台差异说明
| H5 | 微信小程序 | 小红书小程序 | 抖音小程序 | 快手小程序 |
|---|---|---|---|---|
| √ | √ | x | √ | x |
CALLBACK 参数
| 参数名 | 类型 | 说明 | 平台差异说明 |
|---|---|---|---|
| errCode | Number | 错误 | 微信小程序 |
| errMsg | String | 错误信息 | 抖音小程序 |
qin.offLocationChangeError(CALLBACK)
取消注册位置更新错误回调。
平台差异说明
| H5 | 微信小程序 | 小红书小程序 | 抖音小程序 | 快手小程序 |
|---|---|---|---|---|
| √ | √ | x | x | √ |
注意:H5 端 CALLBACK 参数为必填。
CALLBACK 参数
无返回值。
qin.startLocationUpdate(OBJECT)
开启小程序进入前台时接收位置消息。
平台差异说明
| H5 | 微信小程序 | 小红书小程序 | 抖音小程序 | 快手小程序 |
|---|---|---|---|---|
| √ | √ | √ | √ | √ |
OBJECT 参数
| 参数名 | 类型 | 必填 | 说明 | 平台差异说明 |
|---|---|---|---|---|
| type | String | 否 | 指定坐标系类型,可以是 wgs84 或 gcj02 | 微信小程序、抖音小程序 |
| success | Function | 否 | 接口调用成功的回调函数 | |
| fail | Function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | |
| needFullAccuracy | Boolean | 否 | 针对 iOS14/Android12 及以上的新特性,其他情况本参数忽略。默认情况宿主是精确定位就返回精确定位信息。传入 true 会强制使用精确定位信息,iOS14/Android12 及以上如果没有精确定位权限,会弹出精确定位授权弹框。 | 百度小程序 |
示例
js
qin.startLocationUpdate({
success: () => console.log('开启小程序接收位置消息成功'),
fail: (theError) => console.error('开启小程序接收位置消息失败:', theError),
complete: () => console.log('调用开启小程序接收位置消息 API 完成')
});qin.startLocationUpdate({
success: () => console.log('开启小程序接收位置消息成功'),
fail: (theError) => console.error('开启小程序接收位置消息失败:', theError),
complete: () => console.log('调用开启小程序接收位置消息 API 完成')
});qin.stopLocationUpdate(OBJECT)
关闭监听实时位置变化,前后台都停止消息接收。
平台差异说明
| H5 | 微信小程序 | 小红书小程序 | 抖音小程序 | 快手小程序 |
|---|---|---|---|---|
| √ | √ | √ | √ | √ |
OBJECT 参数
| 参数名 | 类型 | 必填 | 说明 | 平台差异说明 |
|---|---|---|---|---|
| success | Function | 否 | 接口调用成功的回调函数 | |
| fail | Function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
qin.startLocationUpdateBackground(OBJECT)
开始监听实时地理位置信息变化事件,小程序进入前后台时均接收实时地理位置信息。
平台差异说明
| H5 | 微信小程序 | 小红书小程序 | 抖音小程序 | 快手小程序 |
|---|---|---|---|---|
| x | √ | x | x | √ |
OBJECT 参数
| 参数名 | 类型 | 必填 | 说明 | 平台差异说明 |
|---|---|---|---|---|
| type | String | 否 | 指定坐标系类型,可以是 wgs84 或 gcj02 | 微信小程序、抖音小程序 |
| success | Function | 否 | 接口调用成功的回调函数 | |
| fail | Function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
三方定位和地图服务收费说明
使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请商业授权和缴纳费用(5万/年)。