tt.getLocation收藏我的收藏
收藏
我的收藏基础库 1.0.0 开始支持本方法,这是一个异步方法。
获取设备当前的地理位置,默认获取常规精度定位地址。
自2024年4月23日起,该API仅针对满足服务类目条件的小程序开放申请。满足申请条件后,开发者登录控制台,在小程序应用中筛选“能力-用户数据能力-设备数据”,申请模糊地理位置能力权限,详情见一次性地理位置能力开通及使用规范
若需使用高精度定位,在调用API时使用 isHighAccuracy 开启高精度定位,且需额外申请在“能力-用户数据能力-设备数据”,申请高 精度地理位置能力权限,详情见高精度定位能力开通及使用规范;
语法
tt.getLocation(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
type | string | "wgs84" | 否 | 指定坐标系类型,可以是 "wgs84" 或 "gcj02" | 1.0.0 |
isHighAccuracy | boolean | false | 否 | 2.26.0 | |
success | function | | 否 | 接口调用成功的回调函数 | 1.0.0 |
fail | function | | 否 | 接口调用失败的回调函数 | 1.0.0 |
complete | function | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.0.0 |
type 的合法值
值 | 说明 | 最低支持版本 |
wgs84 | 指定坐标系类型为真实坐标系 | 1.0.0 |
gcj02 | 指定坐标系类型为加密坐标系(适用于国内地图软件) | 1.0.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errMsg | string | "getLocation:ok" | 1.0.0 |
latitude | number | 纬度,范围为 -90 ~ 90 ,正数表示北,负数表示南 | 1.0.0 |
longitude | number | 经度,范围为 -180 ~180 ,正数表示东,负数表示西 | 1.0.0 |
altitude | number | 高度,单位 m | 1.0.0 |
accuracy | number | 位置的精确度 | 1.0.0 |
verticalAccuracy | number | 垂直精度,单位 m(Android 需要系统 8.0 及以上机型并且开启 GPS,否则返回 0) | 1.0.0 |
horizontalAccuracy | number | 水平精度,单位 m | 1.0.0 |
speed | number | 速度,单位 m/s | 1.0.0 |
city | string | 定位到的城市信息(iOS 仅在抖音 / 抖音 Lite 20.5.0 及以上版本返回此字段) | 1.0.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errMsg | string | "getLocation:fail " + 详细错误信息 | 1.0.0 |
错误说明
errNo | errMsg | 说明 | 最低支持版本 |
10201 | "getLocation:fail privacy permission is not authorized" | 3.19.0 | |
10202 | "getLocation:fail api scope is not declared in the privacy agreement" | 3.19.0 |
扫码体验
代码示例
// 常规精度获取 tt.getLocation({ success(res) { console.log(`经度${res.longitude}纬度${res.latitude}`); }, fail(res) { console.log("getLocation调用失败", res); }, }); // 高精度获取 tt.getLocation({ isHighAccuracy:true, success(res) { console.log(`经度${res.longitude}纬度${res.latitude}`); }, fail(res) { console.log("getLocation调用失败", res); }, });
Bug & Tip
- •Tip:该 API 需要用户授权方可调用,详细信息可参考用户授权;
- •Tip:该 API 需要系统授权方可调用,位置精度和调用耗时会因设备而异;
- •Tip:该 API 有一定性能消耗,请注意不要频繁调用以防设备过热和耗电过快。小程序框架也会做相应的节流处理;
- •Tip:如果要将返回值使用在 openLocation或者其他国内地图软件中,必须指定坐标系为
"gcj02"
。
最佳实践