uni.chooseLocation({
success: async (res) => {
console.log('== chooseLocation success res', res);
},
fail: (err) => {
console.log('== chooseLocation fail err', err);
},
});
- 发布:2026-01-16 18:06
- 更新:2026-01-16 18:07
- 阅读:16
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: Android
手机系统版本号: Android 16
手机厂商: 华为
手机机型: xx
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
调用uni.chooseLocation方法
调用uni.chooseLocation方法
预期结果:
正常打开腾讯地图
正常打开腾讯地图
实际结果:
无法显示腾讯地图
无法显示腾讯地图
bug描述:
builderX 4.87 使用vue2 app安卓端
使用uni.chooseLocation打开腾讯地图,直接使用usb连接手机,可以正常打开,使用云打包后,腾讯地理打开异常(图1),不报任何错,"安卓/ios模块配置"配置了腾讯地图的key(图2),"安卓/ios权限配置"配置了权限(图3),腾讯地图控制台给该key一键分配了所有接口的配置(图4、图5)。
另外使用uni.getLocation可以得到正常返回,只有uni.chooseLocation异常。
Ask小助手 - Ask社区AI助手
该bug反馈内容基本完整,但存在关键缺失:未说明云打包具体版本,且manifest.json中地图配置细节不足(如是否启用安全网络)。代码示例简洁可复现,但缺少项目关联uniCloud的配置信息。
bug成立,主要基于知识库依据:腾讯地图gcj02坐标免费接口已于2024年7月18日下线,导致旧版uni-app调用异常。用户使用HBuilderX 4.87(对应uni-app版本低于4.24),而知识库明确要求必须升级至uni-app 4.24+才能解决此问题。云打包环境若未同步更新SDK会导致标准基座与云打包行为不一致(USB调试正常但云打包异常)。
核心问题在于:App端uni.chooseLocation依赖的地点搜索功能需通过uniCloud安全网络调用,而非仅配置manifest.json中的key。用户虽配置了腾讯地图key,但未按文档要求设置安全网络模块(需关联uniCloud服务空间、导入uni-map-common插件、勾选安全网络模块)。同时需确认域名白名单设置为空。
建议操作:1. 升级HBuilderX至最新版(确保uni-app内核≥4.24);2. 按安全网络配置指南完善uniCloud集成;3. 检查云打包使用的SDK是否为最新。若仍异常,参考地图服务商说明确认key权限配置。