getLocation:获取当前的【精确】地理位置
getFuzzyLocation:获取当前的【模糊】地理位置
现在微信小程序对于getLocation的使用审核是比较严格的,对于用户来说倒是件好事,但是对于我们开发就不太友好了,因为场景不符合官方所支持的使用场景,审核总是通不过。对于我们现在的使用场景而言,获取模糊的地理位置也可以满足需求,所以替代方案就是使用getFuzzyLocation。
getFuzzyLocation 使用方式:
wx.getFuzzyLocation({
type: 'wgs84',//默认为:wgs84 返回 gps 坐标; gcj02 返回可用于 wx.openLocation 的坐标
success: (res) => {
const latitude = res.latitude
const longitude = res.longitude
// do something...
},
fail: (res) => {
wx.showToast({
title: '位置获取失败',
icon: 'error',
});
},
complete: () => {}
})
同时还需要在 app.json 文件中加入以下配置:
"permission": {
"scope.userFuzzyLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
},
"requiredPrivateInfos": [
"getFuzzyLocation"
]
可能遇到的问题:
- 开发者工具报错[getFuzzyLocation] is not authorized如何解决?
解决办法: 在小程序后台管理 开通模糊位置权限
- 开发者工具中可能会报 获取不到位置信息, 真机模拟是可以正常获取的,所以你可以在真机模拟中查看效果。
- 有的手机未能获取到位置信息,可能是微信版本不支持这个新增的Api,可以升级下微信版本。
OK,本篇结束。