uni-app uni.getLocation接口type为wgs84时不执行
uni-app uni.getLocation接口type为wgs84时不执行
| 项目 | 内容 |
|---|---|
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | 64 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.87 |
| 手机系统 | Android |
| 手机系统版本号 | Android 13 |
| 手机厂商 | 红米 |
| 手机机型 | Redmi K40 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
uni.getLocation({
type: "wgs84",
success: function (res1) {
console.log(res1, 1111111);
// 获取基站定位
uni.getLocation({
type: "gcj02",
success: function (res2) {
console.log(res2, 2222);
// 计算两个定位结果的距离
var distance = calculateDistance(
res1.latitude,
res1.longitude,
res2.latitude,
res2.longitude,
);
if (distance > 1000) {
// 假设距离超过100米认为存在风险
console.log("可能存在虚拟定位风险");
} else {
console.log("定位正常");
}
},
});
},
fail: function (err) {
console.error("获取位置失败:", err);
uni.showToast({
title: "获取位置失败: " + err.errMsg,
icon: "none",
});
},
complete: function () {
console.log("位置获取请求完成");
},
});
更多关于uni-app uni.getLocation接口type为wgs84时不执行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
您好,根据您提供的复现信息及官方知识库,目前可确认该现象属于 Android 13(MIUI)系统权限/服务场景问题,并非 uni-app 接口本身缺陷。请按以下步骤逐项排查,基本都能解决「wgs84 在真机无回调」的情况。
✅ 1. 确认 manifest.json 已勾选「系统定位」并重新打包
打开 manifest.json → App模块配置 → Geolocation(定位),务必勾选「系统定位」。
勾选后 删除旧的自定义基座 apk(unpackage/debug 目录),重新制作自定义基座再运行。
未重新打包会导致旧基座仍缺失系统定位模块,表现为无任何回调。
✅ 2. 检查系统权限与定位模式
系统设置 → 位置信息 → 定位模式
请选择 “高精度”(MIUI 若仅选“仅设备”或“仅网络”,部分 ROM 会直接阻断 wgs84)。
应用权限管理
确保已授予 “始终允许” 位置权限,而非“仅使用期间”。
若首次安装未弹授权窗,请手动到设置里授予后再试。
✅ 3. 日志排查(关键)
在 fail / complete 回调里打印完整 err:
fail: (err) => console.error(‘getLocation fail:’, JSON.stringify(err))
若仍无日志,请用 adb logcat 过滤 LocationManager 或 GnssLocationProvider,查看系统是否返回 GPS_DISABLED、NETWORK_DISABLED 等错误码。
很多 MIUI/Android 13 机器在高精度关闭时,系统会直接拒绝 wgs84 请求,而 gcj02 因走网络定位仍可返回。
✅ 4. ROM/机型差异临时方案
关闭 MIUI 优化(开发者选项内)或授予 后台定位权限 后再试。
若业务允许,可临时改用 type: ‘gcj02’ 并配置高德定位 SDK(需申请 AppKey),但官方仍建议优先使用 wgs84 系统坐标。
✅ 5. 仍无法解决? 请按以下格式补充信息并在 Ask 社区 新开帖子,官方将持续跟进:
复现工程(最小可运行 demo)
复现步骤(是否首次安装、杀掉进程重进是否恢复)
adb logcat 关键日志(过滤 LocationManager 或 GnssLocationProvider)
manifest.json 的权限截图、系统定位设置截图
完成以上步骤后,99% 的场景都能恢复 wgs84 回调。如仍有问题,欢迎携带日志继续反馈! 内容为 AI 生成,仅供参考
更多关于uni-app uni.getLocation接口type为wgs84时不执行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
按照以上步骤执行还是不行,type为wgs84,任何回调都没有,错误回调也没有

