JsSDK版本:1.6.0
API名称:wx.getLocation
问题描述:在iOS16、iOS15中,将系统设置中的微信->位置设置为“下次询问或在共享时”,使用微信进入公众号网页,在弹出的定位授权提示框中选择不允许,wx.getLocation就挂了,包括success、fail、cancel、complete在内的所有回调都不执行,代码无法继续往下运行。
代码:
wx.ready(() => {
wx.getLocation({
type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
success: function (res) {
console.log('授权成功', res)
const latitude = res.latitude // 纬度,浮点数,范围为90 ~ -90
const longitude = res.longitude // 经度,浮点数,范围为180 ~ -180。
if (longitude && latitude) {
localStorage.setItem(StorageKeysEnum.LNGLAT, `${longitude},${latitude}`)
resolve()
} else {
Dialog.alert({
title: '定位失败!',
message: '请在系统设置中打开微信定位权限',
confirmButtonColor: '#3eba5c',
})
reject()
}
},
fail: (e) => {
console.log('获取定位失败:', e)
Dialog.alert({
title: '定位失败!',
message: '请在系统设置中打开微信定位权限',
confirmButtonColor: '#3eba5c',
})
reject()
},
cancel: (res) => {
console.log('取消授权', res)
reject()
},
complete: (res) => {
console.log('授权完成:', res)
},
})
})
是什么原因那 我在ios14 上也遇到 有时会不执行任何回调 有时可以执行