原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
微信小程序官方文檔關于地理信息的相關API有如下方法可以獲得用戶當前地理位置:
wx.getLocation(OBJECT)
獲取當前的地理位置、速度。當用戶離開小程序后,此接口無法調用;當用戶點擊“顯示在聊天頂部”時,此接口可繼續調用。
OBJECT參數說明:
success返回參數說明:
從文檔可知該方法只是返回的位置坐標等信息,并未返回地理位置名稱。好在騰訊地圖準們為小程序提供了接口SDK來獲取位置信息。
文檔地址如下:http://lbs.qq.com/qqmap_wx_jssdk/index.html
SDK使用方法請參照該文檔。
其中騰訊地圖提供了一個接口:
reverseGeocoder(options:Object)
本接口提供由坐標到坐標所在位置的文字描述的轉換,輸入坐標返回地理位置信息和附近poi列表。
接口參數和返回信息請參照文檔:http://lbs.qq.com/qqmap_wx_jssdk/method-reverseGeocoder.html
在小程序中獲取地理位置信息的流程就是:
根據wx.getLocation方法獲取當前位置坐標。
根據reverseGeocoder方法獲取當前坐標地理位置信息。
具體實現如下:
// 引入SDK核心類
var QQMapWX = require('xxx/qqmap-wx.js');
onLoad: function () {
var that = this
// 實例化騰訊地圖API核心類
qqmapsdk = new QQMapWX({
key: '開發密鑰(key)' // 必填
});
//1、獲取當前位置坐標
wx.getLocation({
type: 'wgs84',
success: function (res) {
//2、根據坐標獲取當前位置名稱,顯示在頂部:騰訊地圖逆地址解析
qqmapsdk.reverseGeocoder({
location: {
latitude: res.latitude,
longitude: res.longitude
},
success: function (addressRes) {
var address = addressRes.result.formatted_addresses.recommend;
that.setData({
console.log(address)
})
}
})
}
})
}