以前项目封装的地址api记录一下
getMapAddress() {
var _this = this
return new Promise((resp, rej) => {
// #ifdef APP-PLUS
// #endif
// #ifdef MP
uni.authorize({
scope: 'scope.userLocation',
success() { //1.1 允许授权
_this.getMapLocation().then(r => resp(r)).catch(err => rej(err));
},
fail() { //1.2 拒绝授权
uni.hideLoading()
uni.showModal({
content: '检测到您没打开获取信息功能权限,是否去设置打开?',
// showCancel:false,
confirmText: "确认",
success: (res) => {
if (res.confirm) {
uni.openSetting({
success: (res1) => {
console.log(res1);
if (res1.authSetting[
'scope.userLocation']) {
_this.getMapLocation().then(r => {
uni.showLoading({
title: '加载中',
mask: true
});
resp(r)
}).catch(err => {
uni.showLoading({
title: '加载中',
mask: true
});
resp(null)
});
} else {
uni.showLoading({
title: '加载中',
mask: true
})
resp(null)
}
}
})
} else {
uni.showLoading({
title: '加载中',
mask: true
})
resp(null)
}
}
})
}
})
// #endif
})
},
getMapLocation() {
let result = null;
return new Promise((resp, rej) => {
uni.getLocation({
type: 'wgs84',
geocode: true,
success: (res) => {
if (res.errMsg == 'getLocation:ok') {
resp(res)
} else {
resp(null)
}
},
fail: (ref) => {
console.log(ref);
resp(null)
},
})
})
},