page.html
<text bindtap="getAddress">{{addr}}</text>
page.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
addr:"点击选择收货地址"
},
//获取地址
getAddress: function () {
var that = this;
app.getPermission(that); //传入that值可以在app.js页面直接设置内容
},
})
app.js
//获取用户地理位置权限
getPermission: function (obj) {
wx.chooseLocation({
success: function (res) {
obj.setData({
addr: res.name //调用成功直接设置地址
})
},
fail: function () {
wx.getSetting({
success: function (res) {
var statu = res.authSetting;
if (!statu['scope.userLocation']) {
wx.showModal({
title: '是否授权当前位置',
content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',
success: function (tip) {
if (tip.confirm) {
wx.openSetting({
success: function (data) {
if (data.authSetting["scope.userLocation"] === true) {
wx.showToast({
title: '授权成功',
icon: 'success',
duration: 1000
})
//授权成功之后,再调用chooseLocation选择地方
wx.chooseLocation({
success: function (res) {
obj.setData({
addr: res.name
})
},
})
} else {
wx.showToast({
title: '授权失败',
icon: 'success',
duration: 1000
})
}
}
})
}
}
})
}
},
fail: function (res) {
wx.showToast({
title: '调用授权窗口失败',
icon: 'success',
duration: 1000
})
}
})
}
})
},
app.json
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
},