[TOC] #### 1. wx.chooseLocation() 打开地图选择位置 --- 开发文档 : [https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) **在 `app.json` 中添加 `permission` 字段, 否则在开发者工具上可以调起位置选择, 在手机上无法调起** ``` "permission":{ "scope.userLocation":{ "desc":"请点击允许" } } ``` **fail 回调常见返回值** ``` // 用户未授权 {errMsg:"chooseLocation:fail auth deny"} // 用户取消选择位置 {errMsg: "chooseLocation:fail cancel"} ``` **未授权获取地理位置信息的判断** 方案一: 根据 `wx.getSetting()` 判断 ``` // 打开地图选择位置 wx.chooseLocation({ success: function (res) { console.log(res) }, fail: function (res) { // 用户未授权 wx.getSetting({ success (res) { if(!res.authSetting["scope.userLocation"]){ wx.showToast({ title: '请先授权 获取位置信息', mask: true, icon: 'none' }) } } }) } }) ``` 方案二: 根据返回值判断 ``` // 打开地图选择位置 wx.chooseLocation({ success: function (res) { console.log(res) }, fail: function (res) { // 用户未授权 if (res.errMsg == "chooseLocation:fail auth deny") { wx.showToast({ title: '请先授权 获取位置信息', mask: true, icon: 'none' }) } } }) ``` ** 获取成功时的返回值 ** ``` { errMsg: "chooseLocation:ok", name: "郑州市金水区人民政府", address: "河南省郑州市金水区东风路16号", latitude: 34.79977, longitude: 113.66072 } ```