微信小程序位置 API

作者:辰風(fēng)沐陽 閱讀:1753 發(fā)布時(shí)間:2021-05-30 上次更新:2021-06-03

1. wx.chooseLocation() 打開地圖選擇位置


開發(fā)文檔 : https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html

app.json 中添加 permission 字段, 否則在開發(fā)者工具上可以調(diào)起位置選擇, 在手機(jī)上無法調(diào)起

  1. "permission":{
  2. "scope.userLocation":{
  3. "desc":"請(qǐng)點(diǎn)擊允許"
  4. }
  5. }

fail 回調(diào)常見返回值

  1. // 用戶未授權(quán)
  2. {errMsg:"chooseLocation:fail auth deny"}
  3. // 用戶取消選擇位置
  4. {errMsg: "chooseLocation:fail cancel"}

未授權(quán)獲取地理位置信息的判斷

方案一: 根據(jù) wx.getSetting() 判斷

  1. // 打開地圖選擇位置
  2. wx.chooseLocation({
  3. success: function (res) {
  4. console.log(res)
  5. },
  6. fail: function (res) {
  7. // 用戶未授權(quán)
  8. wx.getSetting({
  9. success (res) {
  10. if(!res.authSetting["scope.userLocation"]){
  11. wx.showToast({
  12. title: '請(qǐng)先授權(quán) 獲取位置信息',
  13. mask: true,
  14. icon: 'none'
  15. })
  16. }
  17. }
  18. })
  19. }
  20. })

方案二: 根據(jù)返回值判斷

  1. // 打開地圖選擇位置
  2. wx.chooseLocation({
  3. success: function (res) {
  4. console.log(res)
  5. },
  6. fail: function (res) {
  7. // 用戶未授權(quán)
  8. if (res.errMsg == "chooseLocation:fail auth deny") {
  9. wx.showToast({
  10. title: '請(qǐng)先授權(quán) 獲取位置信息',
  11. mask: true,
  12. icon: 'none'
  13. })
  14. }
  15. }
  16. })

獲取成功時(shí)的返回值

  1. {
  2. errMsg: "chooseLocation:ok",
  3. name: "鄭州市金水區(qū)人民政府",
  4. address: "河南省鄭州市金水區(qū)東風(fēng)路16號(hào)",
  5. latitude: 34.79977,
  6. longitude: 113.66072
  7. }

標(biāo)簽: 微信小程序