getLocation() {
let _this = this
uni.showLoading({
title: '位置获取中',
mask: true
});
_this.isLoading = true
uni.getLocation({
type: 'gcj02',
geocode: true,
success: function(res) {
// 获取地址成功 ==> 经纬度
_this.latitudeEnd = res.latitude // 纬度
_this.longitudeEnd = res.longitude // 经度
// 当前位置获取
_this.addrEnd = res.address
},
fail: function(res) {
_this.locationCheckFlagEnd = true
_this.localCheckFalseEnd = true
_this.uploadAbnFlagEnd = true
uni.showToast({
// title: res.errMsg,
title: '获取定位错误,请允许应用设备定位权限授权',
icon: 'none',
duration: 3000
});
},
complete: function() {
_this.isLoading = false
uni.hideLoading();
}
});
},
- 发布:2024-10-14 11:16
- 更新:2024-10-14 17:54
- 阅读:58
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 4.24
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: MRD-TL00
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
打开页面,同意定位权限以后,请求uni.getLocation,进入成功回调,返回的经纬度数据异常
打开页面,同意定位权限以后,请求uni.getLocation,进入成功回调,返回的经纬度数据异常
预期结果:
打开页面,同意定位权限以后,请求uni.getLocation,进入成功回调,返回的经纬度数据符合正常
打开页面,同意定位权限以后,请求uni.getLocation,进入成功回调,返回的经纬度数据符合正常
实际结果:
{"type":"gcj02","altitude":5e-324,"latitude":5e-324,"longitude":5e-324,"speed":0,"accuracy":0,"errMsg":"getLocation:ok"}
{"type":"gcj02","altitude":5e-324,"latitude":5e-324,"longitude":5e-324,"speed":0,"accuracy":0,"errMsg":"getLocation:ok"}
bug描述:
uni.getLocation的成功回调,使用的第三方地图为百度地图,大多数手机及用户获取正常,部分异常;回调成功后,经纬度为5E-324,address为空。
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
大多数用户可以,部分异常,看看是否有什么规律
参考 ask 社区 其他用户的反馈
看起来是设置的原因,你可以测试一下权限拒绝的情况,针对这个特殊的返回值单独提示用户去授权解决
2***@qq.com (作者)
这些配置是正确的,不然也不会是部分手机地址定位异常;权限也是正常授权
2024-10-14 11:30