首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

微信小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ex

  • 25-04-24 11:21
  • 2633
  • 7910
blog.csdn.net

文章目录

    • 1、背景
    • 2、问题解决

1、背景

调试基础库版本 3.7.7,使用如下代码进行地理授权

wx.authorize({
  scope: 'scope.userLocation',
  success() {
    console.log('用户授权成功');
    // 授权成功,获取位置
    wx.getLocation({
      type: 'wgs84', // 默认为 wgs84,返回 GPS 坐标
      success(res) {
        console.log('当前位置:', res.latitude, res.longitude);
      },
      fail(err) {
        console.error('获取位置失败:', err);
      }
    });
  },
  fail() {
    wx.showModal({
      title: '授权提示',
      content: '我们需要获取您的位置信息以提供更好的服务,是否授权?',
      success(res) {
        if (res.confirm) {
          wx.openSetting({
            success(settingRes) {
              if (settingRes.authSetting['scope.userLocation']) {
                console.log('用户已授权地理位置');
              }
            }
          });
        }
      }
    });
  }
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

已在 app.json中加上权限配置

  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  }
  • 1
  • 2
  • 3
  • 4
  • 5

在使用小程序地理位置信息授权过程中出现如下错误:

The config file "ext.json" doesn't exist
getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json
  • 1
  • 2

2、问题解决

该报错说明调用 getLocation API 时,必须在 app.json/ext.json 文件中的 requiredPrivateInfos 字段声明该 API。

在官方文档中找到该字段说明:使用以下8个地理位置相关接口时,需要声明该字段,否则将无法正常使用

地理位置接口说明
getFuzzyLocation获取模糊地理位置
getLocation获取精确地理位置
onLocationChange监听实时地理位置变化事件
startLocationUpdate接收位置消息(前台)
startLocationUpdateBackground接收位置消息(前后台)
chooseLocation打开地图选择位置
choosePoi打开POI列表选择位置
chooseAddress获取用户地址信息

所以完整的地理授权配置应如下:

{
  "requiredPrivateInfos": [
    "getLocation",
    "onLocationChange",
    "startLocationUpdateBackground",
    "chooseAddress"
  ],
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

错误已被解决,控制台将打印成功信息

注:本文转载自blog.csdn.net的duration~的文章"https://blog.csdn.net/m0_62943934/article/details/145433693"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

119
小程序
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top