解决问题:
-
在小程序中获取用户的信息, 使用
wx.getLocation
API, 在使用这个 API 之前需要首先设置
用户授权
. -
用户有可能在进入小程序的时候关闭了获取位置的权限, 当需要获取位置的时候要重新判断是否拥有权限。 如果没有权限需要再次提醒用户授权.
-
wx.getLocation
接口返回的用户位置是经纬度形式的, 需要借助于
微信小程序JavaScript SDK
对返回的
latitude
longitude
经纬度信息解析为
国家 省份 市 ...
的形式。
设置用户授权
小程序中部分接口是需要用户授权同意后才能调用的。 像
getUserInfo
getLocation
chooseAddress
chooseInvoiceTitle
getWeRunData
等。 当我们在小程序中需要使用这些接口的时候,首先都要用户用户授权才能使用, 我们可以使用
wx.openSetting
打开设置界面,引导用户开启授权。
getLocation
除了需要用户授权外, 还需要在开发的时候在
app.json
配置
地理位置用途说明
;
所以
第一步
我们需要在
app.json
文件中首先配置
地理位置用途说明
app.json
{
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}