獲取當前的地理位置勾缭、速度疏遏。當用戶離開小程序后脉课,此接口無法調(diào)用。開啟高精度定位财异,接口耗時會增加倘零,可指定 highAccuracyExpireTime 作為超時時間。地圖相關使用的坐標格式應為 gcj02戳寸。高頻率調(diào)用會導致耗電呈驶,如有需要可使用持續(xù)定位接口 wx.onLocationChange
文檔例子較少,給大家寫個demo
// 這個函數(shù) 在 onLoad內(nèi)觸發(fā) 或 點擊觸發(fā)
async location() {
const that = this;
try {
await that.getWxLocation()
} catch (error) {
Model({
title: '溫馨提示',
tip: '獲取權限失敗疫鹊,需要獲取您的地理位置才能為您提供更好的服務袖瞻!是否授權獲取地理位置?',
showCancel: true,
confirmText: '前往設置',
cancelText: '取消',
sureCall() {
that.toSetting()
},
cancelCall() {}
})
return
}
}
// 獲取位置信息
getWxLocation() {
wx.showLoading({
title: '定位中...',
mask: true,
})
return new Promise((resolve, reject) => {
const _locationChangeFn = (res) => {
console.log('location change', res)
wx.hideLoading()
wx.offLocationChange(_locationChangeFn)
}
wx.startLocationUpdate({
success: (res) => {
wx.onLocationChange(_locationChangeFn)
resolve()
},
fail: (err) => {
reject()
}
})
})
},
// 調(diào)起客戶端小程序設置界面
toSetting() {
wx.openSetting({
success(res) {
if (res.authSetting["scope.userLocation"]) {
this.authorization()
}
}
})
},