• JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • tt.getLocation
  • tt.openLocation
  • tt.chooseLocation
  • tt.startLocationUpdate
  • tt.stopLocationUpdate
  • tt.onLocationChange
  • tt.offLocationChange
  • tt.onLocationChangeError
  • tt.offLocationChangeError
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 行业开放
  • 第三方平台
  • 其它
  • 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"

    最佳实践

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