// 获取经纬度
getLatLng() {
let _this = this;
uni.getLocation({
type: "gcj02",
// geocode: true,
success(data) {
console.log('-----定位返回------------');
console.log(data);
_this.gatherLogs(data, 1)
let { latitude, longitude } = data;
if (!latitude || !longitude) {
uni.showToast({
title: "经纬度获取失败,请重试!",
icon: "none",
duration: 2500
});
return
}
_this.latitude = latitude;
_this.longitude = longitude;
_this.parseLocationByLatLng(latitude, longitude);
},
fail(err) {
console.log('定位失败:', err);
_this.gatherLogs(err, 2)
// 模拟数据
// _this.latitude = 31.472332;
// _this.longitude = 120.667699;
// _this.parseLocationByLatLng(31.472332, 120.667699);
uni.showToast({
title: "获取定位失败,是否授权打开定位",
icon: "none",
duration: 2500
});
},
});
},
- 发布:2024-08-02 15:22
- 更新:2024-10-14 10:50
- 阅读:218
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 4.23
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: P50
页面类型: 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,走了成功回调,此时经纬度都是异常数据,大多数地方都是正常,只有极个别的小岛上会出现这种情况!
返回结果如下:
{"type":"gcj02","altitude":5e-324,"latitude":5e-324,"longitude":5e-324,"speed":0,"accuracy":0,"errMsg":"getLocation:ok"}
4 个回复
1***@163.com (作者)
定位的位置位于:江苏省苏州市相城区阳澄湖镇莲花村西洋村相石路27号
DCloud_UNI_yuhe
大多数情况正常?在小岛上出现?什么小岛
1***@163.com (作者)
江苏省苏州市相城区(莲花岛)
2024-08-02 16:16
1***@163.com (作者)
而且只有个别人的手机有问题,大部分都正常,只有某个人的手机在这里不行,出了岛就正常
2024-08-02 16:17
DCloud_UNI_yuhe
回复 1***@163.com: 那这是地图厂商定位的问题吧,你加个判断逻辑显示位置失效然后重新获取试试
2024-08-02 16:21
2***@qq.com
我也遇见了这个问题,使用的第三方地图为百度地图,大多数手机及用户获取正常,部分异常;回调成功后,经纬度为5E-324,address为空。
2***@qq.com
请问楼主有解决这个问题吗
1***@163.com (作者)
改成默认坐标系就好了
2024-10-16 16:44