getLocation() {
let {locationEnabled }=wx.getSystemInfoSync();
if(locationEnabled){
return new Promise((resolve, reject) => {
let _locationChangeFn = res => {
console.log('location change', res);
resolve({
lat: res.latitude,
lng: res.longitude
});
wx.offLocationChange();
wx.stopLocationUpdate();
};
wx.startLocationUpdate({
success: res => {
wx.onLocationChange(_locationChangeFn);
},
fail: err => {
console.log('获取当前位置失败', err);
wx.showModal({
title: '温馨提示',
content: '获取权限失败,需要获取您的地理位置才能为您提供更好的服务!是否授权获取地理位置?',
confirmText: '前往设置',
cancelText: '取消',
success: res => {
if (res.confirm) {
wx.openSetting({
success: async res => {
console.log(res);
if (res.authSetting[
'scope.userLocation']) {
wx.showToast({
title: '授权成功请继续',
icon: 'success'
})
}
}
});
}
}
});
reject(err);
}
});
});
} else {
wx.showToast({
title: '请检查手机定位是否开启',
icon: 'none'
})
return new Promise((resolve, reject) => {
reject()
})
}
},
uniapp 小程序获取当前定位的方法
最新推荐文章于 2024-07-10 18:14:48 发布