抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • tt.getLocation
  • tt.chooseLocation
  • tt.openLocation
  • tt.startLocationUpdate
  • tt.stopLocationUpdate
  • tt.onLocationChange
  • tt.offLocationChange
  • tt.onLocationChangeError
  • tt.offLocationChangeError
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 行业开放
  • 第三方平台
  • 其它
  • 生活服务(即将废弃)
  • tt.getLocation
    收藏
    我的收藏

    基础库 1.0.0 开始支持本方法,这是一个异步方法。
    获取设备当前的地理位置,默认获取常规精度定位地址。
    若需使用模糊地理位置,具体能力准入条件可查看一次性地理位置能力开通及使用规范
    若需使用高精度地理位置,在调用API时使用 isHighAccuracy 开启高精度定位,且需额外申请在“能力-用户数据能力-设备数据”,申请高精度地理位置能力,具体能力准入条件可查看高精度定位能力开通及使用规范
    ​
    语法
    tt.getLocation(options)

    参数说明

    options 为 object 类型,属性如下:
    属性名
    类型
    默认值
    必填
    说明
    最低支持版本
    type
    string
    "gcj02"
    否
    指定坐标系类型,仅支持"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 的合法值

    值
    说明
    最低支持版本
    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
    province
    string
    定位到的省份信息
    3.69.0
    district
    string
    定位到的区信息
    3.69.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"。
    ​

    最佳实践

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