栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

微信小程序获取地理位置及经纬度授权代码实例

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微信小程序获取地理位置及经纬度授权代码实例

这篇文章主要介绍了微信小程序获取地理位置及经纬度授权代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

微信小程序获取地理位置授权,首先需要在app.json中添加配置:

"permission": {
  "scope.userLocation": {
   "desc": "请确认授权"
  }
 }

获取经纬度:如果手机未开启位置信息,那么授权成功后在wx.getLocation()方法中也会一直失败,所以需要在fail方法中提示用户开启手机位置信息

getUserLocation: function () {
    let vm = this
    wx.getSetting({
      success: (res) => {
 // res.authSetting['scope.userLocation'] == undefined  表示 初始化进入该页面
 // res.authSetting['scope.userLocation'] == false  表示 非初始化进入该页面,且未授权
 // res.authSetting['scope.userLocation'] == true  表示 地理位置授权
 // 拒绝授权后再次进入重新授权
 if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {
   // console.log('authSetting:status:拒绝授权后再次进入重新授权', res.authSetting['scope.userLocation'])
   wx.showModal({
     title: '',
     content: '【泰福利Lite】需要获取你的地理位置,请确认授权',
     success: function (res) {
if (res.cancel) {
  wx.showToast({
    title: '拒绝授权',
    icon: 'none'
  })
  setTimeout(() => {
    wx.navigateBack()
  }, 1500)
} else if (res./confirm/i) {
  wx.openSetting({
    success: function (dataAu) {
      // console.log('dataAu:success', dataAu)
      if (dataAu.authSetting["scope.userLocation"] == true) {
 //再次授权,调用wx.getLocation的API
 vm.getLocation(dataAu)
      } else {
 wx.showToast({
   title: '授权失败',
   icon: 'none'
 })
 setTimeout(() => {
   wx.navigateBack()
 }, 1500)
      }
    }
  })
}
     }
   })
 }
 // 初始化进入,未授权
 else if (res.authSetting['scope.userLocation'] == undefined) {
   // console.log('authSetting:status:初始化进入,未授权', res.authSetting['scope.userLocation'])
   //调用wx.getLocation的API
   vm.getLocation(res)
 }
 // 已授权
 else if (res.authSetting['scope.userLocation']) {
   // console.log('authSetting:status:已授权', res.authSetting['scope.userLocation'])
   //调用wx.getLocation的API
   vm.getLocation(res)
 }
      }
    })
  },
  // 微信获得经纬度
  getLocation: function (userLocation) {
    let vm = this
    wx.getLocation({
      type: "wgs84",
      success: function (res) {
 // console.log('getLocation:success', res)
 var latitude = res.latitude
 var longitude = res.longitude
 vm.getDaiShu(latitude, longitude)
      },
      fail: function (res) {
 // console.log('getLocation:fail', res)
 if (res.errMsg === 'getLocation:fail:auth denied') {
   wx.showToast({
     title: '拒绝授权',
     icon: 'none'
   })
   setTimeout(() => {
     wx.navigateBack()
   }, 1500)
   return
 }
 if (!userLocation || !userLocation.authSetting['scope.userLocation']) {
   vm.getUserLocation()
 } else if (userLocation.authSetting['scope.userLocation']) {
   wx.showModal({
     title: '',
     content: '请在系统设置中打开定位服务',
     showCancel: false,
     success: result => {
if (result./confirm/i) {
  wx.navigateBack()
}
     }
   })
 } else {
   wx.showToast({
     title: '授权失败',
     icon: 'none'
   })
   setTimeout(() => {
     wx.navigateBack()
   }, 1500)
 }
      }
    })
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/73599.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号