微信小程序獲取位置信息

微信小程序開發(fā)--獲取位置信息

1 獲取當(dāng)前地理位置,首先要拿到用戶的授權(quán)wx.openSetting

在這里插入圖片描述

在用戶首次進(jìn)入某頁面(需要地理位置授權(quán))時候溅话,在頁面進(jìn)行onLoad崇败,onShow時候盅称,進(jìn)行調(diào)用wx.getLocation要求用戶進(jìn)行授權(quán);以后每次進(jìn)入該頁面時后室,通過wx.getSetting接口缩膝,返回用戶授權(quán)具體信息。

wx.getSetting接口具體API地址鏈接為點擊鏈接

在這里插入圖片描述

當(dāng)該標(biāo)志是underfind岸霹,表示用戶初次進(jìn)入該頁面疾层,當(dāng)該標(biāo)志是false,表示用戶初次進(jìn)入該頁面拒絕了地理授權(quán)贡避,應(yīng)進(jìn)行重新要求獲取授權(quán)痛黎。

 wx.getSetting({
      success: (res) => {
        console.log(JSON.stringify(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) {
          wx.showModal({
            title: '請求授權(quán)當(dāng)前位置',
            content: '需要獲取您的地理位置,請確認(rèn)授權(quán)',
            success: function (res) {
              if (res.cancel) {
                wx.showToast({
                  title: '拒絕授權(quán)',
                  icon: 'none',
                  duration: 1000
                })
              } else if (res.confirm) {
                wx.openSetting({
                  success: function (dataAu) {
                    if (dataAu.authSetting["scope.userLocation"] == true) {
                      wx.showToast({
                        title: '授權(quán)成功',
                        icon: 'success',
                        duration: 1000
                      })
                      //再次授權(quán)贸桶,調(diào)用wx.getLocation的API
                      
                    } else {
                      wx.showToast({
                        title: '授權(quán)失敗',
                        icon: 'none',
                        duration: 1000
                      })
                    }
                  }
                })
              }
            }
          })
        } else if (res.authSetting['scope.userLocation'] == undefined) {
          //調(diào)用wx.getLocation的API
        }
        else {
          //調(diào)用wx.getLocation的API
        }
      }
    })

2舅逸、微信小程序地圖展示位置信息

在拿到用戶授權(quán)以后,使用微信的API獲取當(dāng)前位置的經(jīng)緯度微信獲取位置API

onLoad: function () {
      wx.getLocation({
        success: res=> {
          console.log(res);
          this.setData({
            location: res,
          })
          // console.log(app.globalData.location);
        },
      })
}

實現(xiàn)效果如下圖:


在這里插入圖片描述

微信小程序也支持在地圖上選點皇筛,獲取定位信息(wx.chooseLocation)和使用微信內(nèi)置地圖查看位置(wx.openLocation)

3、結(jié)合百度地圖獲取位置信息

微信小程序的接口坠七,只能得到經(jīng)緯度水醋,但有時候我們需要得到具體的城市或者區(qū)域信息旗笔,這就需要借助百度地圖了(==或者騰訊地圖等,邏輯都是一樣的==)拄踪。

var BMap = new bmap.BMapWX({   
        ak: that.data.ak,
    });   
        console.log(BMap)    
    var fail = function(data) {   
        console.log(data);  
    };   
    var success = function(data) {   
        //返回數(shù)據(jù)內(nèi)贿衍,已經(jīng)包含經(jīng)緯度  
        console.log(data);  
        //使用wxMarkerData獲取數(shù)據(jù)  
        //  = data.wxMarkerData;  
wxMarkerData=data.originalData.result.addressComponent.city
        //把所有數(shù)據(jù)放在初始化data內(nèi)  
        console.log(wxMarkerData)
        that.setData({   
            // markers: wxMarkerData,
            // latitude: wxMarkerData[0].latitude,  
            // longitude: wxMarkerData[0].longitude,  
            address: wxMarkerData 
        });  
    }   
    // 發(fā)起regeocoding檢索請求   
    BMap.regeocoding({   
        fail: fail,   
        success: success  
    });      
  },
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市救恨,隨后出現(xiàn)的幾起案子贸辈,更是在濱河造成了極大的恐慌,老刑警劉巖肠槽,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件擎淤,死亡現(xiàn)場離奇詭異,居然都是意外死亡秸仙,警方通過查閱死者的電腦和手機嘴拢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寂纪,“玉大人席吴,你說我怎么就攤上這事”兹粒” “怎么了抢腐?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長襟交。 經(jīng)常有香客問我迈倍,道長,這世上最難降的妖魔是什么捣域? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任啼染,我火速辦了婚禮,結(jié)果婚禮上焕梅,老公的妹妹穿的比我還像新娘迹鹅。我一直安慰自己,他們只是感情好贞言,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布斜棚。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弟蚀。 梳的紋絲不亂的頭發(fā)上蚤霞,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音义钉,去河邊找鬼昧绣。 笑死,一個胖子當(dāng)著我的面吹牛捶闸,可吹牛的內(nèi)容都是我干的夜畴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼删壮,長吁一口氣:“原來是場噩夢啊……” “哼贪绘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起醉锅,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤兔簇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后硬耍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垄琐,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年经柴,在試婚紗的時候發(fā)現(xiàn)自己被綠了狸窘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡坯认,死狀恐怖翻擒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情牛哺,我是刑警寧澤陋气,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站引润,受9級特大地震影響巩趁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜淳附,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一议慰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奴曙,春花似錦别凹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堕战。三九已至,卻和暖如春颁督,著一層夾襖步出監(jiān)牢的瞬間践啄,已是汗流浹背浇雹。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工沉御, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人昭灵。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓吠裆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親烂完。 傳聞我的和親對象是個殘疾皇子试疙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容