天天看點

微信小程式和騰訊地圖結合一鍵擷取使用者所在位址資訊

微信小程式開發中,經常需要擷取使用者的具體位置,而僅僅通過wx的API無法實作這個功能,通過wx.getLocation和騰訊的qqmap-wx-jssdk.js檔案可以進行擷取到具體到門牌号的地理位置,詳細操作如下

  • wx.getLocation是常用的微信API,可以擷取使用者的經緯度,使用很簡單,如下圖所示(來自官網),也可以看官網官網位址https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html
  • 微信小程式和騰訊地圖結合一鍵擷取使用者所在位址資訊
    微信小程式和騰訊地圖結合一鍵擷取使用者所在位址資訊
  • qqmap-wx-jssdk.js可以将經緯度轉換為具體的位址,可以定位到使用者的門牌号,是一個超實用的功能,使用步驟如下
    • 下載下傳qqmap-wx-jssdk.js檔案,位址如下:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview
      微信小程式和騰訊地圖結合一鍵擷取使用者所在位址資訊
  • 建立密鑰,位址如下:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/qqMapwx
    微信小程式和騰訊地圖結合一鍵擷取使用者所在位址資訊
    • 點選進入界面如下,注意建立時候需要勾選WebserviceAPI才可以在微信小程式中使用,勾選後點選儲存即可
      微信小程式和騰訊地圖結合一鍵擷取使用者所在位址資訊

注意,下面代碼需要添加您的密鑰,同時需要修改qmap-wx-jssdk.js的路徑,還需要在data添加一個address的變量即可

// 擷取使用者所在地資訊
  // 使用騰訊地圖
  getAddress() {
  	// 注意,将that修改為this
    let that=this;
    // 在https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview位址下載下傳qqmap-wx-jssdk.js檔案
    let Map = require('../../lib/qqmap-wx-jssdk.js');
    // 在https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/qqMapwx建立密鑰
    let map = new Map({
      key: '您的密鑰'
    });
    wx.getLocation({
      type: 'wgs84',
      success: function (res) {
        // 将坐标發送到騰訊背景進行解析定位
        map.reverseGeocoder({
          location: {
            latitude: res.latitude,
            longitude: res.longitude
          },
          success: function (addressRes) {
            let address = addressRes.result.address_component
            that.setData({
              address: {
                province: address.province,//省
                city: address.city,//市
                district:address.district,//區
                street:address.street,//街道
                street_number:address.street_number//門牌号
              }
            })
            console.log(that.data.address)
          },
          fail(err) {
            console.log(err);
          }
        })
      }
    })
  }
           
  • 輸出如下
    微信小程式和騰訊地圖結合一鍵擷取使用者所在位址資訊

繼續閱讀