// 沒有在登錄的時(shí)候獲取自己的定位 而是點(diǎn)擊事件 調(diào)用openMapLocation()這個(gè)方法時(shí)獲取了自己的定位
//因考慮到用戶拒絕獲取自己的定位所以當(dāng)用戶再次點(diǎn)擊后會(huì)喚起設(shè)置讓用戶打開定位
// 這里傳入的三個(gè)參數(shù)分別是 要去的 經(jīng)度 緯度 以及 地址信息
openMapLocation(longitude = 113, latitude = 22, address = "測(cè)試地址") {
// 獲取定位信息
uni.getLocation({
type: 'wgs84', //返回可以用于uni.openLocation的經(jīng)緯度
// 用戶允許獲取定位
success: function (res) {
console.log(res,'經(jīng)緯度');
if(res.errMsg=="getLocation:ok") {
console.log(latitude)
console.log(longitude)
uni.openLocation({
// 傳入你要去的緯度
latitude: latitude,
// 傳入你要去的經(jīng)度
longitude: longitude,
// 傳入你要去的地址信息 不填則為空
address: address,
// 縮放大小
scale:18,
success: function () {
console.log('success');
}
});
}
},
// 用戶拒絕獲取定位后 再次點(diǎn)擊觸發(fā)
fail: function(res) {
console.log(res)
if(res.errMsg == "getLocation:fail auth deny"){
uni.showModal({
content:'檢測(cè)到您沒打開獲取信息功能權(quán)限,是否去設(shè)置打開殖属?',
confirmText: "確認(rèn)",
cancelText:'取消',
success: (res) => {
if(res.confirm ){
uni.openSetting({
success: (res) => {
console.log('確定');
}
})
}else {
console.log('取消');
return false;
}
}
})
}
}
});
}
// 切記這里必須配置否則會(huì)報(bào)錯(cuò) 看看下圖
image.png