在本文 微信小程序--獲取用戶地理位置名稱(無須用戶授權) 之前需要先看看
微信小程序-獲取用戶session_key,openid,unionid - 后端為nodejs
代碼封裝是在上文添加的。
準備
1、在http://lbs.qq.com/網站申請key
2、在微信小程序后臺把apis.map.qq.com添加進request合法域名
效果
添加封裝
/** * 發起網絡請求 * @param {string} url * @param {object} params * @return {Promise} */ static request(url, params, method = "GET", type = "json") { console.log("向后端傳遞的參數", params); return new Promise((resolve, reject) => { let opts = { url: url, data: Object.assign({}, params), method: method, header: { 'Content-Type': type }, success: resolve, fail: reject } // console.log("請求的URL", opts.url); wx.request(opts); }); }; /** * 獲取用戶中心位置經緯度 * @param {ctx} name */ static getCenterLocation(name) { return new Promise((resolve, reject) => name.getCenterLocation({ success: resolve, fail: reject })); }
如果已經存在,則不用添加
js
let app = getApp();let wechat = require("../../utils/wechat");Page({ onReady(e) { let mapCtx = wx.createMapContext('myMap'); setTimeout(() => { mapCtx.moveToLocation(); }, 1000); setTimeout(() => { this.getAddress(mapCtx); }, 2000); }, getAddress(mapCtx) { wechat.getCenterLocation(mapCtx) .then(d => { console.log(d); let { latitude, longitude } = d; console.log("當前位置緯度", latitude, "當前位置經度", longitude); let url = `https://apis.map.qq.com/ws/geocoder/v1/`; let key = 'XXXXX-D6FAD-RSG4U-HBE6F-NVFNK-XXXXX'; let params = { location: latitude + "," + longitude, key } return wechat.request(url, params); }) .then(d => { console.log(d); console.log("當前地址", d.data.result.address); }) .catch(e => { console.log(e); }) } })
html
<map id="myMap" show-location="true" scale="16" />
css
page{ height: 100%;}#myMap{ width: 100%; height: 100%;}
參考地址:
https://mp.weixin.qq.com/debug/wxadoc/dev/component/map.html#map
https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-map.html
以上所述是小編給大家介紹的微信小程序-獲取用戶地理位置名稱(無須用戶授權)的方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答