Skip to content

qin.onLocationChange(FUNCTION CALLBACK) ​

监听实时地理位置变化事件,需结合 qin.startLocationUpdate 或 qin.startLocationUpdateBackground 使用。

平台差异说明

H5微信小程序小红书小程序抖音小程序快手小程序
√√√√√

FUNCTION CALLBACK 参数

参数名类型说明平台差异说明
latitudeNumber纬度,范围为 -90~90,负数表示南纬。
longitudeNumber经度,范围为 -180~180,负数表示西经。
speedNumber速度 (m/s)H5不支持
accuracynumber位置的精确度
altitudenumber高度 (m)H5不支持
verticalAccuracynumber垂直精度 (m)抖音小程序、快手小程序 Android 无法获取,返回 0
horizontalAccuracynumber水平精度 (m)抖音小程序不支持
citystring定位到的城市信息百度小程序、抖音小程序(iOS 不支持)
cityCodeString城市编码
streetString街道名称
cityString城市名称
countryString国家
countryCodeString国家代码
provinceString省份
streetNumberString街道号码
districtString区
isFullAccuracyBoolean是不是精确定位信息

注意

  • 该方法会持续监听地理位置信息的变化,建议在不需要监听地理位置信息变化后,直接调用 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 参数

参数名类型说明平台差异说明
latitudenumber纬度,范围 [-90, 90],负数表示南纬快手小程序
longitudenumber经度,范围 [-180, 180],负数表示西经快手小程序
speednumber速度 (m/s)快手小程序
accuracynumber位置的精确度快手小程序
altitudenumber高度 (m)快手小程序
verticalAccuracynumber垂直精度 (m)(Android 无法获取,返回 0)快手小程序
horizontalAccuracynumber水平精度 (m)快手小程序

qin.onLocationChangeError(CALLBACK) ​

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

平台差异说明

H5微信小程序小红书小程序抖音小程序快手小程序
√√x√x

CALLBACK 参数

参数名类型说明平台差异说明
errCodeNumber错误微信小程序
errMsgString错误信息抖音小程序

qin.offLocationChangeError(CALLBACK) ​

取消注册位置更新错误回调。

平台差异说明

H5微信小程序小红书小程序抖音小程序快手小程序
√√xx√

注意:H5 端 CALLBACK 参数为必填。

CALLBACK 参数

无返回值。

qin.startLocationUpdate(OBJECT) ​

开启小程序进入前台时接收位置消息。

平台差异说明

H5微信小程序小红书小程序抖音小程序快手小程序
√√√√√

OBJECT 参数

参数名类型必填说明平台差异说明
typeString否指定坐标系类型,可以是 wgs84 或 gcj02微信小程序、抖音小程序
successFunction否接口调用成功的回调函数
failFunction否接口调用失败的回调函数
completefunction否接口调用结束的回调函数(调用成功、失败都会执行)
needFullAccuracyBoolean否针对 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 参数

参数名类型必填说明平台差异说明
successFunction否接口调用成功的回调函数
failFunction否接口调用失败的回调函数
completefunction否接口调用结束的回调函数(调用成功、失败都会执行)

qin.startLocationUpdateBackground(OBJECT) ​

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

平台差异说明

H5微信小程序小红书小程序抖音小程序快手小程序
x√xx√

OBJECT 参数

参数名类型必填说明平台差异说明
typeString否指定坐标系类型,可以是 wgs84 或 gcj02微信小程序、抖音小程序
successFunction否接口调用成功的回调函数
failFunction否接口调用失败的回调函数
completefunction否接口调用结束的回调函数(调用成功、失败都会执行)

三方定位和地图服务收费说明 ​

使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请商业授权和缴纳费用(5万/年)。