溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示

發(fā)布時(shí)間:2021-06-08 14:58:52 來源:億速云 閱讀:412 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要為大家展示了“微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示”這篇文章吧。

最近剛開始接觸微信小程序,在弄懂其結(jié)構(gòu)以及相關(guān)接口之后,準(zhǔn)備著手實(shí)現(xiàn)一個(gè)小程序,功能包括--獲取用戶當(dāng)前位置的經(jīng)緯度,在地圖上查看位置,通過地圖獲取不同位置的經(jīng)緯度。

最近剛開始接觸微信小程序,在弄懂其結(jié)構(gòu)以及相關(guān)接口之后,準(zhǔn)備著手實(shí)現(xiàn)一個(gè)小程序,功能包括--獲取用戶當(dāng)前位置的經(jīng)緯度,在地圖上查看位置,通過地圖獲取不同位置的經(jīng)緯度。

微信小程序的主體部分包括:

微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示

新增頁面需要在app.json進(jìn)行配置:

 "pages":[
  "pages/index/index",
  "pages/location/location",
  "pages/logs/logs"
 ]

通過在視圖層調(diào)用bindtap與邏輯層中的方法匹配--實(shí)現(xiàn)頁面跳轉(zhuǎn):

視圖層

 <view class="location" bindtap="locationViewTap">
  <button>獲取用戶當(dāng)前位置</button>
 </view>

邏輯層

 locationViewTap: function(){
  wx.navigateTo({
   url: '../location/location'
  })
 }

通過在視圖層調(diào)用bindtap與邏輯層中的方法匹配--實(shí)現(xiàn)方法調(diào)用:

視圖層

  <button bindtap="mapViewTap" style="margin:10px">查看地圖</button>
  <button bindtap="chooseMapViewTap" style="margin:10px">選擇位置</button>

邏輯層

 mapViewTap:function(){
    wx.getLocation({
     type: 'gcj02', //返回可以用于wx.openLocation的經(jīng)緯度
     success: function(res) {
      console.log(res)
      wx.openLocation({
       latitude: res.latitude,
       longitude: res.longitude,
       scale: 28
      })
    }
   })
 }

有關(guān)地圖位置的三個(gè)接口:

(1) wx.getLocation(OBJECT) 獲取當(dāng)前的地理位置、速度

success返回參數(shù):

latitude緯度,浮點(diǎn)數(shù),范圍為-90~90,負(fù)數(shù)表示南緯
longitude經(jīng)度,浮點(diǎn)數(shù),范圍為-180~180,負(fù)數(shù)表示西經(jīng)
speed速度,浮點(diǎn)數(shù),單位m/s
accuracy位置的精確度

(2) wx.openLocation(OBJECT)  使用微信內(nèi)置地圖查看位置

OBJECT參數(shù)說明:

參數(shù)類型必填說明
latitudeFloat緯度,范圍為-90~90,負(fù)數(shù)表示南緯
longitudeFloat經(jīng)度,范圍為-180~180,負(fù)數(shù)表示西經(jīng)
scaleINT縮放比例,范圍5~18,默認(rèn)為18
nameString位置名
addressString地址的詳細(xì)說明
successFunction接口調(diào)用成功的回調(diào)函數(shù)
failFunction接口調(diào)用失敗的回調(diào)函數(shù)
completeFunction接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

(3) wx.chooseLocation(OBJECT) 打開地圖選擇位置

success返回參數(shù):

name位置名稱
address詳細(xì)地址
latitude緯度,浮點(diǎn)數(shù),范圍為-90~90,負(fù)數(shù)表示南緯
longitude經(jīng)度,浮點(diǎn)數(shù),范圍為-180~180,負(fù)數(shù)表示西經(jīng)

實(shí)現(xiàn)效果

利用getLocation獲取當(dāng)前位置的經(jīng)緯度坐標(biāo),openLocation打開微信內(nèi)置地圖查看

微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示

微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示    

利用chooseLocation選取位置,并將位置信息的經(jīng)緯度實(shí)時(shí)響應(yīng)顯示

微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示

微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示

注意事項(xiàng):

(1) 利用getLocation()獲得的地圖參數(shù)信息只有兩個(gè)

    微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示  

利用chooselocation返回的參數(shù)如下:

微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示

(2) this.setData修改json里面的值

邏輯層中的json數(shù)據(jù)可以通過WXML文件{{json}}顯示出來:

    微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示

以上是“微信小程序如何獲取當(dāng)前位置經(jīng)緯度以及地圖顯示”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI