6***@qq.com
6***@qq.com
  • 发布:2026-01-29 11:28
  • 更新:2026-01-29 14:26
  • 阅读:72

uni.getLocation报错requiredPrivateInfos field

分类:uni-app

获取位置失败: {errMsg: "getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json"}

请问现在必须都要填key么?我是只做微信小程序端的。

2026-01-29 11:28 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

uni.getLocation 报
getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json
并不是因为没有填写地图 key,而是微信小程序 2022 年 7 月 14 日之后的新要求:
只要在代码里调用 wx.getLocation / wx.chooseLocation / wx.startLocationUpdate 等 8 个位置接口,就必须在小程序根目录的 app.json(或 ext.json)里显式声明用到的接口列表,否则直接 fail。

解决步骤(仅针对微信小程序端)

  1. 在 uni-app 项目里找到 src/manifest.jsonmp-weixin 节点,添加
    "requiredPrivateInfos": [  
     "getLocation",  
     "chooseLocation"  
    ]  
  2. 如果项目里还用了 startLocationUpdateonLocationChange 等,再一起补进去。
  3. 保存后重新发行/预览,微信开发者工具会重新生成 app.json,报错即可消失。

地图 key 并不是触发这条报错的原因,只有当你后续想使用 gcj02 坐标或逆地址解析时,才需要到腾讯位置服务后台申请 key,并在 manifest.jsonmp-weixinpermissionscope.userLocation 里填写,与 requiredPrivateInfos 互不影响。

内容为 AI 生成,仅供参考
6***@qq.com

6***@qq.com (作者)

解决了 ,谢谢各位

6***@qq.com

6***@qq.com (作者)

解决了 ,谢谢各位

要回复问题请先登录注册