[TOC] #### 1. wx.chooseLocation() 打開地圖選擇位置 --- 開發(fā)文檔 : [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` 字段, 否則在開發(fā)者工具上可以調(diào)起位置選擇, 在手機(jī)上無(wú)法調(diào)起** ``` "permission":{ "scope.userLocation":{ "desc":"請(qǐng)點(diǎn)擊允許" } } ``` **fail 回調(diào)常見(jiàn)返回值** ``` // 用戶未授權(quán) {errMsg:"chooseLocation:fail auth deny"} // 用戶取消選擇位置 {errMsg: "chooseLocation:fail cancel"} ``` **未授權(quán)獲取地理位置信息的判斷** 方案一: 根據(jù) `wx.getSetting()` 判斷 ``` // 打開地圖選擇位置 wx.chooseLocation({ success: function (res) { console.log(res) }, fail: function (res) { // 用戶未授權(quán) wx.getSetting({ success (res) { if(!res.authSetting["scope.userLocation"]){ wx.showToast({ title: '請(qǐng)先授權(quán) 獲取位置信息', mask: true, icon: 'none' }) } } }) } }) ``` 方案二: 根據(jù)返回值判斷 ``` // 打開地圖選擇位置 wx.chooseLocation({ success: function (res) { console.log(res) }, fail: function (res) { // 用戶未授權(quán) if (res.errMsg == "chooseLocation:fail auth deny") { wx.showToast({ title: '請(qǐng)先授權(quán) 獲取位置信息', mask: true, icon: 'none' }) } } }) ``` ** 獲取成功時(shí)的返回值 ** ``` { errMsg: "chooseLocation:ok", name: "鄭州市金水區(qū)人民政府", address: "河南省鄭州市金水區(qū)東風(fēng)路16號(hào)", latitude: 34.79977, longitude: 113.66072 } ```