获取用户当前位置分为3步
1.获取位置用户请求权限
2.获取经纬度
3.经纬度转换为城市
一.获取位置用户请求权限
获取权限的目的主要是因为避免转换不了城市的报错(可能出现不提示“需要先请求用户权限”的信息,进而导致后续报错或没反应)
1.在项目里的需要的页面里使用button按钮绑定获取定位事件
<button type="default" @click="getLocation">点击获取定位</button>
2.js部分
getLocation() {
wx.getLocation({
success(res){
}
})
//或者使用wx.authorize也行,但后续会使用getLocation获取经纬度,所以直接用getLocation更少代码
//wx.authorize({
// scope: 'scope.userLocation'
//})
}
写完这些后,点击按钮会提示错误(以上两种情况都需要配置不然会报错)
(以上两种方式都会报类似的错误)位置授权要先在app.json里声明,提示getLocation 需要在app.json中声明permission字段。
解决办法:
在manifest.json中加入下面这段代码
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示" //描述用途的文字
}
}
操作如下图所示:
当完成配置后,再点击按钮会调起获取权限请求。在用户同意权