微信小程序之獲取當前位置經緯度以及地圖顯示


 

最近剛開始接觸微信小程序,在弄懂其結構以及相關接口之后,准備着手實現一個小程序,功能包括--獲取用戶當前位置的經緯度,在地圖上查看位置,通過地圖獲取不同位置的經緯度。

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

     app.js:必填,小程序邏輯,由js代碼寫成;

   app.json:必填,小程序公共設置,頁面配置、滾動條、標題的顯示等等;

   app.wxss:非必填,公共樣式表,即css;

   app.wxml:非必填,模板文件。

  • 新增頁面需要在app.json進行配置:
  "pages":[
    "pages/index/index",
    "pages/location/location",
    "pages/logs/logs"
  ]
  • 通過在視圖層調用bindtap與邏輯層中的方法匹配--實現頁面跳轉:

視圖層

  <view class="location" bindtap="locationViewTap">
    <button>獲取用戶當前位置</button>
  </view>

邏輯層

  locationViewTap: function(){
    wx.navigateTo({
      url: '../location/location'
    })
  }
  • 通過在視圖層調用bindtap與邏輯層中的方法匹配--實現方法調用:

視圖層

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

邏輯層

 mapViewTap:function(){
        wx.getLocation({
          type: 'gcj02', //返回可以用於wx.openLocation的經緯度
          success: function(res) {
            console.log(res)
            wx.openLocation({
              latitude: res.latitude,
              longitude: res.longitude,
              scale: 28
            })
        }
      })
  }
  • 有關地圖位置的三個接口:

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

     success返回參數:

latitude 緯度,浮點數,范圍為-90~90,負數表示南緯
longitude 經度,浮點數,范圍為-180~180,負數表示西經
speed 速度,浮點數,單位m/s
accuracy 位置的精確度

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

   OBJECT參數說明:

參數 類型 必填 說明
latitude Float 緯度,范圍為-90~90,負數表示南緯
longitude Float 經度,范圍為-180~180,負數表示西經
scale INT 縮放比例,范圍5~18,默認為18
name String 位置名
address String 地址的詳細說明
success Function 接口調用成功的回調函數
fail Function 接口調用失敗的回調函數
complete Function 接口調用結束的回調函數(調用成功、失敗都會執行)

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

   success返回參數:

name 位置名稱
address 詳細地址
latitude 緯度,浮點數,范圍為-90~90,負數表示南緯
longitude 經度,浮點數,范圍為-180~180,負數表示西經
  • 實現效果

 利用getLocation獲取當前位置的經緯度坐標

              

 

 openLocation打開微信內置地圖查看                                                                 

                  

    

 利用chooseLocation選取位置,並將位置信息的經緯度實時響應顯示

            

實時顯示經緯度:

            

   注意事項:

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

         

     利用chooselocation返回的參數如下:

            

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

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

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM