最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序獲取當(dāng)前位置的詳細(xì)步驟

 更新時(shí)間:2022年12月08日 08:53:37   作者:早起的年輕人  
微信小程序開發(fā)中選擇地理位置就需要通過官方文檔API去判斷用戶是否授權(quán)地理位置,用戶開啟授權(quán)后可直接獲取地理位置,下面這篇文章主要給大家介紹了關(guān)于微信小程序獲取當(dāng)前位置的詳細(xì)步驟,需要的朋友可以參考下

微信小程序獲取位置信息的方式有兩種,一種是調(diào)用微信官方的接口來獲取,如getLocation,這種方式只能獲取經(jīng)緯度
微信官方文檔

https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html

另一種是使用的第三方平臺(tái)的,比如本文章使用的是 騰訊地圖

微信小程序JavaScript SDK / 開發(fā)指南 / 入門及使用限制-開發(fā)文檔

https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

1 騰訊位置開發(fā)基本步驟

1.1 申請(qǐng)開發(fā)者密鑰(key)

申請(qǐng)密鑰 :登錄騰訊開發(fā)者平臺(tái),然后創(chuàng)建應(yīng)用,如下圖

開通webserviceAPI服務(wù):控制臺(tái) ->應(yīng)用管理 -> 我的應(yīng)用 ->添加key-> 勾選WebServiceAPI -> 保存

(小程序SDK需要用到webserviceAPI的部分服務(wù),所以使用該功能的KEY需要具備相應(yīng)的權(quán)限)

1.2 下載微信小程序JavaScriptSDK

下載微信小程序JavaScriptSDK

https://mapapi.qq.com/web/miniprogram/JSSDK/qqmap-wx-jssdk1.2.zip

下載后解壓,拷貝到微信小程序項(xiàng)目中

1.3 安全域名設(shè)置

安全域名設(shè)置,在小程序管理后臺(tái) -> 開發(fā) -> 開發(fā)管理 -> 開發(fā)設(shè)置 -> “服務(wù)器域名” 中設(shè)置request合法域名,添加

https://apis.map.qq.com

1.4 微信小程序設(shè)置隱私權(quán)限

在app.json 文本中添加

  "permission": {
    "scope.userLocation": {
      "desc": "小程序需要使用您的位置信息 已確認(rèn)您的采樣地址"
    }
  },
  "requiredPrivateInfos": [
    "getLocation"
  ],

getLocation 是使用微信接口來獲取經(jīng)緯度時(shí)使用,需要申請(qǐng)調(diào)用權(quán)限。

2 獲取位置信息

核心代碼如下:

// 引入SDK核心類,js文件根據(jù)自己業(yè)務(wù),位置可自行放置
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;
Page({
 
    onLoad: function () {
        // 實(shí)例化API核心類
        qqmapsdk = new QQMapWX({
            key: '申請(qǐng)的key'
        });
    },
    onShow: function () {
        // 調(diào)用接口
        qqmapsdk.reverseGeocoder({
            success: function (res) {
                let result = res.result;
                console.log(res.status, res.message);
            },
            fail: function (res) {
                console.log(res.status, res.message);
            },
            complete: function (res) {
            console.log(res.status, res.message);
        }
     });
  }
})

3 權(quán)限問題

當(dāng)用戶第一次進(jìn)入頁面獲取位位置信息時(shí),小程序會(huì)彈出請(qǐng)求位置權(quán)限申請(qǐng),如果用戶點(diǎn)擊了拒絕權(quán)限,那下次進(jìn)入時(shí),將不會(huì)再次彈出權(quán)限申請(qǐng),所以這個(gè)過程需要開發(fā)者來維護(hù)處理一下。

如果用戶拒絕過,再次進(jìn)入后,彈框提示用戶開啟權(quán)限

  //定位方法
  initLocationPersmiss: function () {
    var _this = this;
    wx.getSetting({
      success: (res) => {
        // res.authSetting['scope.userLocation'] == undefined  表示 初始化進(jìn)入該頁面
        // res.authSetting['scope.userLocation'] == false  表示 非初始化進(jìn)入該頁面,且未授權(quán)
        // res.authSetting['scope.userLocation'] == true  表示 地理位置授權(quán)
        if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {
          //未授權(quán)
          wx.showModal({
            title: '請(qǐng)求授權(quán)當(dāng)前位置',
            content: '需要獲取您的地理位置,請(qǐng)確認(rèn)授權(quán)',
            success: function (res) {
              if (res.cancel) {
                //取消授權(quán)
                wx.showToast({
                  title: '拒絕授權(quán) 暫時(shí)無法使用本功能',
                  icon: 'none',
                  duration: 1000
                })
              } else if (res.confirm) {
                //確定授權(quán),通過wx.openSetting發(fā)起授權(quán)請(qǐng)求
                wx.openSetting({
                  success: function (res) {
                    if (res.authSetting["scope.userLocation"] == true) {
                      wx.showToast({
                        title: '授權(quán)成功',
                        icon: 'success',
                        duration: 1000
                      })
                      //再次授權(quán),調(diào)用wx.getLocation的API
                      _this.initGetLocationFlunction();
                    } else {
                      wx.showToast({
                        title: '授權(quán)失敗',
                        icon: 'none',
                        duration: 1000
                      })
                    }
                  }
                })
              }
            }
          })
        } else if (res.authSetting['scope.userLocation'] == undefined) {
          //用戶首次進(jìn)入頁面,調(diào)用wx.getLocation的API
          _this.initGetLocationFlunction();
        } else {
          console.log('授權(quán)成功')
          //調(diào)用wx.getLocation的API
          _this.initGetLocationFlunction();
        }
      }
    })

  },

獲取位置的請(qǐng)求

initGetLocationFlunction(isRefresh){
    let that = this;
    this.setData({isUpdateLocatin:true})
    qqmapsdk.reverseGeocoder({
      success: function(res) {
        let result = res.result;
        console.log(res);
      },
      fail: function(res) {
        console.log(res.status, res.message);
       
      },
      complete: function(res) {
        console.log(res.status, res.message);
      }
    })
  },

完畢

總結(jié)

到此這篇關(guān)于微信小程序獲取當(dāng)前位置的文章就介紹到這了,更多相關(guān)微信小程序獲取當(dāng)前位置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js實(shí)現(xiàn)不重復(fù)導(dǎo)入的方法

    js實(shí)現(xiàn)不重復(fù)導(dǎo)入的方法

    這篇文章主要介紹了js實(shí)現(xiàn)不重復(fù)導(dǎo)入的方法,實(shí)例分析了JavaScript基于文件與字符串判斷操作實(shí)現(xiàn)JS文件不重復(fù)導(dǎo)入的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • html2canvas+jspdf實(shí)現(xiàn)下載pdf文件并添加水印

    html2canvas+jspdf實(shí)現(xiàn)下載pdf文件并添加水印

    這篇文章主要為大家詳細(xì)介紹了如何使用html2canvas + jspdf進(jìn)行下載pdf文件添加水印,以及echarts圖片防止截?cái)嗵幚?有需要的小伙伴可以了解下
    2024-10-10
  • js實(shí)現(xiàn)tab選項(xiàng)卡函數(shù)代碼

    js實(shí)現(xiàn)tab選項(xiàng)卡函數(shù)代碼

    js實(shí)現(xiàn)tab選項(xiàng)卡函數(shù)代碼,需要的朋友可以參考下,這樣的代碼也是比較常用的,相當(dāng)原理也比較簡單。
    2010-04-04
  • JavaScript:void(0)用法及一些常見問題解決辦法

    JavaScript:void(0)用法及一些常見問題解決辦法

    這篇文章主要介紹了javascript:void(0)在JavaScript中的用法,探討了其防止鏈接默認(rèn)行為的作用,提供了使用示例,并針對(duì)常見問題如與#的區(qū)別、事件綁定和鍵盤訪問進(jìn)行了講解,需要的朋友可以參考下
    2024-12-12
  • JS截取字符串實(shí)例詳解

    JS截取字符串實(shí)例詳解

    這篇文章主要介紹了JS截取字符串的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了JavaScript截取字符串的常用函數(shù)與具體使用技巧,并附帶說明了JS截取字符串substr和substring方法的區(qū)別,需要的朋友可以參考下
    2015-11-11
  • JavaScript中跨域調(diào)用Flash的方法

    JavaScript中跨域調(diào)用Flash的方法

    這篇文章主要介紹了JavaScript中跨域調(diào)用Flash的方法,只需要在Flash中加一句話即可,需要的朋友可以參考下
    2014-08-08
  • 使用window.postMessage()方法在兩個(gè)網(wǎng)頁間傳遞數(shù)據(jù)

    使用window.postMessage()方法在兩個(gè)網(wǎng)頁間傳遞數(shù)據(jù)

    這篇文章介紹了使用window.postMessage()在兩個(gè)網(wǎng)頁間傳遞數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • JSON與String互轉(zhuǎn)的實(shí)現(xiàn)方法(Javascript)

    JSON與String互轉(zhuǎn)的實(shí)現(xiàn)方法(Javascript)

    下面小編就為大家?guī)硪黄狫SON與String互轉(zhuǎn)的實(shí)現(xiàn)方法(Javascript) 。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-09-09
  • 基于JS對(duì)象創(chuàng)建常用方式及原理分析

    基于JS對(duì)象創(chuàng)建常用方式及原理分析

    下面小編就為大家?guī)硪黄贘S對(duì)象創(chuàng)建常用方式及原理分析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 整理Javascript數(shù)組學(xué)習(xí)筆記

    整理Javascript數(shù)組學(xué)習(xí)筆記

    整理Javascript數(shù)組學(xué)習(xí)筆記,之前一系列的文章是跟我學(xué)習(xí)Javascript,本文就是進(jìn)一步學(xué)習(xí)javascript數(shù)組,希望大家繼續(xù)關(guān)注
    2015-11-11

最新評(píng)論

静乐县| 公主岭市| 临洮县| 温州市| 大渡口区| 科技| 沙坪坝区| 武山县| 内江市| 体育| 陆河县| 武陟县| 霍城县| 大关县| 吴旗县| 新津县| 南木林县| 大田县| 金塔县| 三河市| 乐昌市| 正定县| 北票市| 怀宁县| 额敏县| 当雄县| 衢州市| 密山市| 宜良县| 准格尔旗| 霍州市| 镇远县| 乌海市| 互助| 堆龙德庆县| 石林| 加查县| 东乡族自治县| 邵东县| 包头市| 蕉岭县|