微信小程序获取地理位置授权

getUserLocation: function () {
        let vm = this
        wx.getSetting({
            success: (res) => {
                console.log(‘getUserLocation‘, 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) {
                    wx.showModal({
                        title: ‘请求授权当前位置‘,
                        content: ‘需要获取您的地理位置,请确认授权‘,
                        success: function (res) {
                            if (res.cancel) {
                                wx.showToast({
                                    title: ‘拒绝授权‘,
                                    icon: ‘none‘,
                                    duration: 1000
                                })
                            } else if (res.confirm) {
                                wx.openSetting({
                                    success: function (dataAu) {
                                        if (dataAu.authSetting["scope.userLocation"] == true) {
                                            wx.showToast({
                                                title: ‘授权成功‘,
                                                icon: ‘success‘,
                                                duration: 1000
                                            })
                                            //再次授权,调用wx.getLocation的API
                                            vm.getLocation()
                                        } else {
                                            wx.showToast({
                                                title: ‘授权失败‘,
                                                icon: ‘none‘,
                                                duration: 1000
                                            })
                                        }
                                    }
                                })
                            }
                        }
                    })
                } else if (res.authSetting[‘scope.userLocation‘] == undefined) {
                    //调用wx.getLocation的API
                    vm.getLocation()
                }
                else {
                    //调用wx.getLocation的API
                    vm.getLocation()
                }
            }
        })
    },
    // 微信获得经纬度
    getLocation: function () {
        let vm = this
        wx.getLocation({
            type: ‘wgs84‘,
            success: function (res) {
                console.log(‘getLocation‘, res)
                var latitude = res.latitude
                var longitude = res.longitude
                vm.getLocal(latitude, longitude)
            },
            fail: function (res) {
                console.log(‘fail‘ + JSON.stringify(res))
            }
        })
    },
    // 获取当前地理位置
    getLocal: function (latitude, longitude) {
        wx.chooseLocation({
            success: function (res) {
                console.log(‘getLocal‘, res)
            }
        })
    },
onLoad() {
  this. getUserLocation()
}
// app.json中添加permission
"permission": {
    "scope.userLocation": {
      "desc": "小程序需要获取您的授权,请确认"
    }
  },

原文地址:https://www.cnblogs.com/memphis-f/p/11535970.html

时间: 2024-11-05 20:36:57

微信小程序获取地理位置授权的相关文章

微信小程序之地理位置授权 wx.getLocation

1. 授权地理位置 点击按钮,弹出授权弹窗,点击允许后,在以后的操作中可以随时获取到用户地理位置 点击拒绝后,将无法获取到地理位置,也无法再次点击弹出弹窗. <button bindtap='onAuthLocation' >授权位置</button> onAuthLocation() { wx.authorize({ scope: 'scope.userLocation', success: (res) => { console.log('成功:' , res) }, fa

微信小程序-获取当前位置和城市名

微信小程序-获取当前城市位置 1, 获取当前地理位置,首先要拿到用户的授权wx.openSetting: 2,微信的getLocation接口,获取当前用户的地理位置(微信返回的是经纬度,速度等参数): 3,微信没有将经纬度直接转换为地理位置,借用腾讯位置服务中关于微信小程序的地理转换JS SDK 的API(返回信息中包括国家,省,市,区,经纬度等地理位置)步骤描述清楚以后,下面就开始按步骤操作了:(本文仅仅讲述如何获取用户地理位置的授权) 图示为获取用户地理位置授权弹窗 在用户首次进入某页面(

微信小程序获取输入框(input)内容

微信小程序---获取输入框(input)内容 wxml <input placeholder="请输入手机号码" maxlength="11" type="tel" bindinput="getInput" /> js Page({ data:{ getInput: null }, getInput:function(){//方法1 this.data.getInput = e.detail.value; }, /

微信小程序-获取用户信息和openid,session_key,

1:微信小程序获取用户信息:比如常用的 avatarUrl (用户头像),nickName (用户名称) 等等, (1):获取用户信息调用 wx.getUserInfo 代码如下: 直接请求接口就可以了,随后把数据存放到storage中,下次直接取 就不用再请求接口,, 2:获取 openid (1):请求wx.login 接口,代码如下: url:是微信提供的 appid:是小程序的appid secret:是小程序开发设置的 AppSecret 只要获取到这两项,用户信息可以用于页面,ope

微信小程序开发 - 用户授权登陆

准备:微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/index.html 开发:在开发之初,我们需要先明确微信方已经制定好的授权登陆流程,参看 官方API - 登陆接口. 你会看到微信方为开发者制定好的登陆授权流程: 如图,即为一个顺向的用户登陆授权的流程.

微信小程序获取登录手机号

小程序获取登录用户手机号. 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发. 首先,放置一个 button 按钮,将 button 的 open-type 的属性值设为 getPhoneNumber . 当用户点击并通过之后,通过绑定的事件获取微信服务器返回过来的加密数据,再根据 session_key 和 app_id 通过后台解密就可以获取手机号啦. 说到这,就上码吧!!! 1 <!--index.wxml--&g

微信小程序~获取位置信息

微信小程序提供的getlocation来获取用户的定位,能够得到用户的经纬度信息 (注:getloaction需要用户授权scope.userLocation)结合map组件能够得到用户的详细定位 <map id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="14" show-location style="width: 100%;

微信小程序 获取用户信息 encryptData解密 C#版本

最近学习小程序开发,需要对encryptData解密,获取用户信息,官方源码没有C#版本,网上的资料比较杂,有的使用还有问题,下面贴一下自己亲试可以使用的一个源码 1.code 换取 session_key 前端先调 wx.login 得到code传输到后端,后端通过接口 https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authoriza

微信小程序 获取用户openid

1,可以在小程序app.js入口文件中放入登录代码 wx.login({ success: res => { // 登录注册接口 if (res.code) { // 调用服务端登录接口,发送 res.code 到服务器端换取 openId, sessionKey, unionId并存入数据库中 } else { console.log('登录失败!' + res.errMsg) } } }); 2,服务端PHP,小程序获取openid接口 // 获取openid function getOpe