tt.getLocation
收藏
我的收藏

基础库 1.0.0 开始支持本方法,这是一个异步方法。​
获取设备当前的地理位置,默认获取常规精度定位地址。​
自2024年4月23日起,该API仅针对满足服务类目条件的小程序开放申请。满足申请条件后,开发者登录控制台,在小程序应用中筛选“能力-用户数据能力-设备数据”,申请模糊地理位置能力权限,详情见一次性地理位置能力开通及使用规范
若需使用高精度定位,在调用API时使用 isHighAccuracy 开启高精度定位,且需额外申请在“能力-用户数据能力-设备数据”,申请高精度地理位置能力权限,详情见高精度定位能力开通及使用规范;​
语法​
text
复制
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​

扫码体验​

代码示例​

js
复制
// 常规精度获取
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"。​

最佳实践​

当用户或对应的设备不支持地理位置授权时,该如何做:帮助中心文档