這篇文章主要介紹“在微信小程序中如何獲取用戶位置”,在日常操作中,相信很多人在在微信小程序中如何獲取用戶位置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”在微信小程序中如何獲取用戶位置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
首先,我們需要來認識一下 wx.getLocation
這個 API 方法,我們先看看 微信官方文檔 中是怎么說的
看我劃紅線的地方就可以了,文檔中明確的表示這個 API 方法就是用來獲取當前的地理位置,那么如何使用呢,往下翻,看看官網中的示例代碼。
看完示例代碼,對于 wx.getLocation
中的 type 和 success 不理解,這倆是干啥的???,繼續看文檔,文檔中寫的很詳細
通過以上信息,得出
type:默認值為 wgs84,返回 GPS 坐標
success:當調用成功時,會有一個回調函數,那么回調函數返回的參數就可以做一些東西了
我們先在微信小程序中成功調用一下這個 wx.getLocation
API 方法,再繼續往下進行。
代碼
將方法調用在組件生命周期中,讓組件一開始就直接調用,因為 type 默認值為 wgs84
,所以寫不寫都可以(我懶,就不寫了)
created() { // 獲取當前的地理位置 wx.getLocation({ success(res) { console.log(res) } }) }
看下控制臺輸出結果
發現輸出結果中的內容和上圖中 success 回調函數的參數一一對應,我們只需要用到 latitude
和 longitude
緯度和經度這兩個參數,那么怎么通過緯度和經度獲取到具體的地理位置信息呢?
聰明的小伙伴百度一搜相關的工具就出來一大堆,工具很多,比如:經緯度/GPS坐標查詢地圖地址在線工具 ,但是我們是將來碼界的一員啊,我們應該敲代碼實現才對,況且,如果你寫的項目上線之后,你還依賴在線工具去實現這個功能嗎,太不現實了。
但是!我們可以借助大廠的技術服務????,比如:騰訊位置服務 、百度地圖開放平臺 、高德開放平臺
我就給大家介紹如何使用騰訊的位置服務了啊,這些技術服務基本區別不大,也很容易上手。
首先,大家需要去 注冊 一個號,綁定郵箱。
登錄成功進去之后,按照下圖進行操作
接著會彈出如下界面,進行填寫即可
Key 名稱很好理解吧,就是相當于咱們寫代碼中的屬性名
描述就不過多介紹了,就相當于咱們寫代碼中的注釋
啟用產品為什么要選擇 WebServiceAPI
呢?因為簡單上手快,至于其他的,小伙伴們可以自己研究一下
剩下的就不過多介紹了吧,字面意思????
注意
這里添加的 key 不要向外透露?。?!這是密鑰,你進入家門的鑰匙,不能隨便給別人!
接著繼續按下圖操作
你會看到如下內容
選擇 逆地址解析(坐標位置描述) 選項,右側內容也明確的表示出此接口用來將經緯度轉換能文字地址信息,具體如何使用,翻到最底部,看示例代碼
你會看到人家請求時攜帶了三個參數, location
、get-poi
、key
,分別是什么意思呢?往上翻,繼續閱讀文檔
location:將咱們用 wx.getLocation 獲取到的經緯度坐標寫在這里,格式為 latitude(緯度),longitude(經度),注意是用逗號分隔
get_poi:表示是否返回周邊地點的信息,默認值為 0(不返回),根據需求修改就好了
key:就是咱們一開始添加的密鑰
看到這里,我們可以動手實現了
代碼
created() { // 獲取當前的經緯度坐標 wx.getLocation({ success(res) { // 緯度 const latitude = res.latitude // 經度 const longitude = res.longitude // 請求騰訊地圖逆地址解析接口 wx.request({ url: `https://apis.map.qq.com/ws/geocoder/v1/?location=${latitude},${longitude}&key=寫你自己添加的密鑰`, success(res) { console.log(res) } }) } }) }
響應結果
最終將地址渲染到頁面即可
到此,關于“在微信小程序中如何獲取用戶位置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。