欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序獲取當(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)入頁(yè)面獲取位位置信息時(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)入該頁(yè)面
        // res.authSetting['scope.userLocation'] == false  表示 非初始化進(jìn)入該頁(yè)面,且未授權(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)入頁(yè)面,調(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)文章

  • JavaScript程序設(shè)計(jì)之JS調(diào)試

    JavaScript程序設(shè)計(jì)之JS調(diào)試

    這篇文章主要介紹了JavaScript程序設(shè)計(jì)中的重要環(huán)節(jié):JS調(diào)試,本文通過一個(gè)加法器,介紹JS如何調(diào)試,感興趣的小伙伴們可以參考一下
    2015-12-12
  • javascript自定義in_array()函數(shù)實(shí)現(xiàn)方法

    javascript自定義in_array()函數(shù)實(shí)現(xiàn)方法

    這篇文章主要介紹了javascript自定義in_array()函數(shù)實(shí)現(xiàn)方法,涉及javascript數(shù)組的遍歷與查找相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • js改變文章字體大小的實(shí)例代碼

    js改變文章字體大小的實(shí)例代碼

    這篇文章主要介紹了js改變文章字體大小的實(shí)例代碼,有需要的朋友可以參考一下
    2013-11-11
  • IE6瀏覽器中window.location.href無效的解決方法

    IE6瀏覽器中window.location.href無效的解決方法

    這篇文章主要介紹了IE6瀏覽器中window.location.href無效的解決方法,給出了正確與錯(cuò)誤的實(shí)例對(duì)比,分析跳轉(zhuǎn)無效的原因與解決方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • 全面講解JavaScript原型與原型鏈

    全面講解JavaScript原型與原型鏈

    本文主要介紹了全面講解JavaScript原型與原型鏈,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Bootstrap基本組件學(xué)習(xí)筆記之面板(14)

    Bootstrap基本組件學(xué)習(xí)筆記之面板(14)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap基本組件學(xué)習(xí)筆記之面板,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)

    js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)

    這篇文章主要為大家詳細(xì)介紹了js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • js構(gòu)造函數(shù)創(chuàng)建對(duì)象是否加new問題

    js構(gòu)造函數(shù)創(chuàng)建對(duì)象是否加new問題

    本篇文章主要給大家詳細(xì)分析了js構(gòu)造函數(shù)創(chuàng)建對(duì)象加new與不加new的問題,有這方面興趣的參考學(xué)習(xí)下。
    2018-01-01
  • VS Code轉(zhuǎn)換大小寫、修改選中文字或代碼顏色的方法

    VS Code轉(zhuǎn)換大小寫、修改選中文字或代碼顏色的方法

    最近在使用VS Code,發(fā)現(xiàn)了不少使用的小技巧,覺著有必要給大家分享下,下面這篇文章主要給大家介紹了關(guān)于VS Code轉(zhuǎn)換大小寫、修改選中文字或代碼顏色的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 微信小程序用戶授權(quán),以及判斷登錄是否過期的方法

    微信小程序用戶授權(quán),以及判斷登錄是否過期的方法

    這篇文章主要介紹了微信小程序用戶授權(quán)及判斷登錄是否過期,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論