导航
当前位置:首页>>app
在线生成app,封装app

uniapp授权位置权限(GPS位置)的例子

2023-07-21 围观 : 26次

# 第一次调用定位接口时,会弹窗请求是否授权
//获取定位
            getLocation() {
                uni.getLocation({
                    type: 'wgs84',
                    success:  (res) => {//授权成功后,调用
                                console.log(res,'当前位置的经纬度')
                                var latitude = res.latitude
                                var longitude = res.longitude
                                var speed = res.speed
                                var accuracy = res.accuracy;
                                this.getLocal(latitude,longitude)
                    },
                        fail(err) {//授权失败后,调用,可以在这儿调用下面的例子 再次进行授权
                            console.log(err,'eee')
                            uni.showToast({
                                title:'授权未通过',
                                icon: 'none'
                            })
                        }
                });
            },
            /** 获取权限
                 * res.authSetting['scope.userLocation'] == undefined    表示 初始化进入该页面
                    res.authSetting['scope.userLocation'] == false    表示 非初始化进入该页面,且未授权
                    res.authSetting['scope.userLocation'] == true    表示 地理位置授权*/
                uni.getSetting({
                    success: (res) => {
                      console.log(res,JSON.stringify(res,'getSetting'))
                      if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {
                        uni.showModal({
                          title: '请求授权当前位置',
                          content: '需要获取您的地理位置,请确认授权',
                          success: function (res) {
                            if (res.cancel) {
                              uni.showToast({title: '拒绝授权',icon: 'none'})
                            } else if (res.confirm) {
                              uni.openSetting({
                                success: function (dataAu) {
                                                      console.log(dataAu,'openSetting')
                                  if (dataAu.authSetting["scope.userLocation"] == true) {
                                    uni.showToast({title: '授权成功',icon: 'none'})
                                    //再次授权,调用wx.getLocation的API
                                    // vm.getLocation();
                                  } else {
                                    uni.showToast({title: '授权失败',icon: 'none',})
                                  }
                                }
                              })
                            }
                          }
                        })
                      } else if (res.authSetting['scope.userLocation'] == undefined) {
                        //调用wx.getLocation的API
                                  console.log('首次授权')
                        this.getLocation();
                                 
                      }
                      else {
                        //调用wx.getLocation的API
                        this.getLocation();
                      }
                    },
                          complete() {
                              console.log('getSetting')
                          }
                  })
          },


华为对位置权限要求比较严格,第二次不要循环弹出权限窗口。

image.png


相关文章
  • 开发一个相似的app需要注意哪些地方?

    开发一个相似的app,需要仔细研究原始的app,了解它的工作原理和功能,以及它是如何与用户交互的。下面是一个简单的步骤,可以帮助你开始开发一个相似的app。第一步:了解用户需求首先,你需要了解你的目标受众是谁,他们有哪些需求和偏好。这将有助于你确定你的app的功能和设计方向。可以通过市场调研、用户反...

    2023-10-12
  • java开发安卓初始后端代码

    安卓开发中的后端代码指的是客户端与服务器之间的数据交互操作。而Java作为变色龙非常强大的编程语言,可以使用其进行后端代码的开发。下面,将详细介绍Java开发安卓初始后端代码的原理和流程。1.后端概念后端,即服务器端,是指Web应用程序接受用户请求并进行处理的一部分,通常包括如下几个方面:- 数据库...

    2023-11-08
  • app的后台管理开发流程

    App后台管理开发流程指的是在App的后台管理端开发过程中需要经过的一系列步骤。这些步骤包括需求分析、架构设计、编码实现、测试与发布等。一、需求分析需求分析是App后台管理开发的第一步,它主要是确定用户的需求,包括功能需求、性能需求、可靠性需求和安全需求等。针对这些需求,需要细化出具体的任务和目标,...

    2023-11-20
  • 2023android最高版本(2020年安卓最高版本是多少)

    安卓14代号曝光,流畅度有望赶超iOS 安卓14代号曝光,流畅度有望赶超iOS 安卓14代号曝光,流畅度有望赶超iOS,谷歌公布了安卓14的官方代号,内部称2023年发布的安卓14为“翻转蛋糕”,安卓14代号曝光,流畅度有望赶超iOS。 安卓14代号曝光,流畅度有望赶超iOS1 外媒tech...

    2023-11-16
  • vue app on

    Vue是一种流行的JavaScript框架,用于构建现代Web应用程序。Vue应用程序可以在不同的平台上运行,包括Web、Android和iOS。Vue应用程序可以使用Vue CLI命令行工具快速创建,并且可以使用Vue Router和Vuex等插件扩展其功能。在Vue中,我们可以使用Vue组件来构...

    2023-10-17