第一步
设置HbuildX 项目中的manifest.json 设置
第二步
上代码 (看了别人的文章 自己做个记录)
授权-用户点击授权 - 获取地址uni.getLocationInfo - 获取位置成功
授权-用户点击拒绝 - 获取位置失败-重新获取位置
onShow() {
if(uni.getStorageSync('login_token')){
this.getAuthorizeInfo();
// this.getMeetingInfo()
}
},
//获取授权 1
getAuthorizeInfo() {
const _this = this;
uni.authorize({
scope: 'scope.userLocation',
success() { // 允许授权
_this.getLocationInfo();
},
fail() { // 拒绝授权
_this.openConfirm();
console.log("你拒绝了授权,无法获得地址")
}
})
},
// 获取地理位置 2
getLocationInfo() {
let _this = this
uni.getLocation({
type: 'wgs84',
success(res) {
console.log(res);
_this.latitude = res.latitude
_this.longitude = res.longitude
console.log(_this.latitude)
console.log(_this.longitude)
uni.showLoading({
title:'签到中'
})
// if(_this.isleave==0 && _this.latitude){
// _this.meetingSign()
// }else if(_this.isleave==1 && _this.latitude){
// _this.meetingLeave()
// }
}
});
},
// 当用户第一次点击拒绝后再次请求授权
openConfirm() {
uni.showModal({
title: '请求授权当前位置',
content: '会议需要获取您的地理位置,请确认授权',
success: (res) => {
if (res.confirm) {
uni.openSetting(); // 打开地图权限设置
} else if (res.cancel) {
uni.showToast({
title: '你拒绝了授权,无法获得地址信息',
icon: 'none',
duration: 1000
})
this.meetingStatus = '会议签到失败'
this.status = false
}
}
});
},