1***@qq.com
1***@qq.com
  • 发布:2023-02-23 17:09
  • 更新:2023-04-02 12:02
  • 阅读:287

【报Bug】uni.chooseLocation APP 苹果13获取地图有时候会 this.$refs.nearListLoadmore.resetLoadmore 安卓没有出现过

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10

HBuilderX类型: 正式

HBuilderX版本号: 3.6.18

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphone13

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

uni.getLocation({
type: 'gcj02',
success: function(res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
uni.chooseLocation({
keyword: '请选择位置',
longitude: res.longitude,
latitude: res.latitude,
success: res => {
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
var reg = /.+?(省|市|自治区|自治州|行政区|盟|旗|县|区)/g; // 省市区的正则
let area = res.address.match(reg); // 分割省市区
var len = 0;
for (var i = 0; i < area.length; i++) {
// 获取省市区的长度
len += area[i].length;
}
area.push(res.address.substring(len)); // 获取省市区之后的字符串
console.log(area); // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗', '前进大街2699号']
let tojian = area[0].split('');
let condition = tojian[tojian.length - 1];
let province = '';
let city = '';
let areas = '';
if (condition == '省') {
province = area[0];
city = area[1];
areas = area[2];
} else {
province = area[0];
city = area[0];
areas = area[1];
}
let longitude = res.longitude;
let latitude = res.latitude;
let obj = {
longitude,
latitude,
province,
city,
area: areas,
petArchivesId,
portrait
};

                    },fail: (err) => {  
                        console.log('打开地图位置失败', err);  
                        this.$u.toast('打开地图位置失败');  
                    },  
                    complete: (lete) => {  
                        console.log("都会走的",lete);  
                    }  
                });  
            },  
            fail: err => {  
                console.log('获取当前位置失败', err);  
                this.$u.toast('获取位置失败');  
            }  
        });

操作步骤:

uni.getLocation({
type: 'gcj02',
success: function(res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
uni.chooseLocation({
keyword: '请选择位置',
longitude: res.longitude,
latitude: res.latitude,
success: res => {
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
var reg = /.+?(省|市|自治区|自治州|行政区|盟|旗|县|区)/g; // 省市区的正则
let area = res.address.match(reg); // 分割省市区
var len = 0;
for (var i = 0; i < area.length; i++) {
// 获取省市区的长度
len += area[i].length;
}
area.push(res.address.substring(len)); // 获取省市区之后的字符串
console.log(area); // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗', '前进大街2699号']
let tojian = area[0].split('');
let condition = tojian[tojian.length - 1];
let province = '';
let city = '';
let areas = '';
if (condition == '省') {
province = area[0];
city = area[1];
areas = area[2];
} else {
province = area[0];
city = area[0];
areas = area[1];
}
let longitude = res.longitude;
let latitude = res.latitude;
let obj = {
longitude,
latitude,
province,
city,
area: areas,
petArchivesId,
portrait
};

                    },fail: (err) => {  
                        console.log('打开地图位置失败', err);  
                        this.$u.toast('打开地图位置失败');  
                    },  
                    complete: (lete) => {  
                        console.log("都会走的",lete);  
                    }  
                });  
            },  
            fail: err => {  
                console.log('获取当前位置失败', err);  
                this.$u.toast('获取位置失败');  
            }  
        });

预期结果:

uni.getLocation({
type: 'gcj02',
success: function(res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
uni.chooseLocation({
keyword: '请选择位置',
longitude: res.longitude,
latitude: res.latitude,
success: res => {
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
var reg = /.+?(省|市|自治区|自治州|行政区|盟|旗|县|区)/g; // 省市区的正则
let area = res.address.match(reg); // 分割省市区
var len = 0;
for (var i = 0; i < area.length; i++) {
// 获取省市区的长度
len += area[i].length;
}
area.push(res.address.substring(len)); // 获取省市区之后的字符串
console.log(area); // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗', '前进大街2699号']
let tojian = area[0].split('');
let condition = tojian[tojian.length - 1];
let province = '';
let city = '';
let areas = '';
if (condition == '省') {
province = area[0];
city = area[1];
areas = area[2];
} else {
province = area[0];
city = area[0];
areas = area[1];
}
let longitude = res.longitude;
let latitude = res.latitude;
let obj = {
longitude,
latitude,
province,
city,
area: areas,
petArchivesId,
portrait
};

                    },fail: (err) => {  
                        console.log('打开地图位置失败', err);  
                        this.$u.toast('打开地图位置失败');  
                    },  
                    complete: (lete) => {  
                        console.log("都会走的",lete);  
                    }  
                });  
            },  
            fail: err => {  
                console.log('获取当前位置失败', err);  
                this.$u.toast('获取位置失败');  
            }  
        });

实际结果:

uni.getLocation({
type: 'gcj02',
success: function(res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
uni.chooseLocation({
keyword: '请选择位置',
longitude: res.longitude,
latitude: res.latitude,
success: res => {
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
var reg = /.+?(省|市|自治区|自治州|行政区|盟|旗|县|区)/g; // 省市区的正则
let area = res.address.match(reg); // 分割省市区
var len = 0;
for (var i = 0; i < area.length; i++) {
// 获取省市区的长度
len += area[i].length;
}
area.push(res.address.substring(len)); // 获取省市区之后的字符串
console.log(area); // ['内蒙古自治区', '锡林郭勒盟', '正镶白旗', '前进大街2699号']
let tojian = area[0].split('');
let condition = tojian[tojian.length - 1];
let province = '';
let city = '';
let areas = '';
if (condition == '省') {
province = area[0];
city = area[1];
areas = area[2];
} else {
province = area[0];
city = area[0];
areas = area[1];
}
let longitude = res.longitude;
let latitude = res.latitude;
let obj = {
longitude,
latitude,
province,
city,
area: areas,
petArchivesId,
portrait
};

                    },fail: (err) => {  
                        console.log('打开地图位置失败', err);  
                        this.$u.toast('打开地图位置失败');  
                    },  
                    complete: (lete) => {  
                        console.log("都会走的",lete);  
                    }  
                });  
            },  
            fail: err => {  
                console.log('获取当前位置失败', err);  
                this.$u.toast('获取位置失败');  
            }  
        });

bug描述:

APP ios 苹果手机打开地图选择位置有时候会报这个问题 this.$refs.nearListLoadmore.resetLoadmore

2023-02-23 17:09 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者) - 是心跳吗

凉凉

1***@qq.com

1***@qq.com (作者) - 是心跳吗

不明白,不明白,我搞不明白,于是我转身向数据库走去

mutti

mutti

遇到同样的问题,解决了嘛?

  • 1***@qq.com (作者)

    是同事的高德的key有问题,苹果可能比较牛逼可以直接打开地图吧

    2023-04-25 17:18

要回复问题请先登录注册