uniapp?h5如何獲取用戶地理位置信息(使用高德地圖)
使用uni.getLocation()先獲取到當(dāng)前位置信息的經(jīng)緯度
H5端測試可以使用http,上線打包需要設(shè)置為https模式
谷歌瀏覽器可能會獲取不到任何信息,因?yàn)楣雀铻g覽器位置信息是連接谷歌服務(wù)器獲取的,國內(nèi)用戶可能獲取位置信息失敗
getCurrentlocation(){ let that = this uni.getLocation({ type: 'wgs84', isHighAccuracy: true,//開啟高精度定位 success(res) { console.log('當(dāng)前位置的經(jīng)度:' + res.longitude); console.log('當(dāng)前位置的緯度:' + res.latitude); } }) }
使用高德開發(fā)平臺注冊一個(gè)key
高德開發(fā)平臺:高德開放平臺 | 高德地圖API (amap.com)
拿到key在manifest.json里進(jìn)行配置
配置完成后使用高德的逆地理編碼對上面請求拿到的經(jīng)緯度進(jìn)行解析
turnAdrr(longitude, latitude) { let that = this let _key = '高德里你注冊的key'; //高德API key類型:web服務(wù) uni.request({ method: 'GET', url: 'https://restapi.amap.com/v3/geocode/regeo?parameters', data: { key: _key, location: `${longitude},${latitude}`, output: 'JSON', }, success: (res) => { console.log(res.data.regeocode.formatted_address); //用戶所在的地理位置信息 }, fail: r => { console.log(r); } }); }
App的話可以直接調(diào)用uni.getLocation()拿到用戶的所在位置,不需要進(jìn)行解析,可以直接拿到
uni.getLocation({ type: 'gcj02', //app直接獲取地理位置信息要使用gcj02 geocode:true , //必須要將geocode配置為true isHighAccuracy: true, success(res) { console.log(res.address) }, fail(err){ console.log(err) } })
總結(jié)
到此這篇關(guān)于uniapp h5如何獲取用戶地理位置信息的文章就介紹到這了,更多相關(guān)uniapp h5獲取用戶地理位置信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
UniApp中Scroll-View設(shè)置占滿下方剩余高度的方法記錄
在使用uniapp開發(fā)項(xiàng)目過程中有時(shí)候會想讓一些組件占有屏幕剩余的高度,下面這篇文章主要給大家介紹了關(guān)于UniApp中Scroll-View設(shè)置占滿下方剩余高度的方法,需要的朋友可以參考下2023-04-04Javascript實(shí)現(xiàn)快速排序(Quicksort)的算法詳解
排序算法(Sorting algorithm)是計(jì)算機(jī)科學(xué)最古老、最基本的課題之一,要想成為合格的程序員,就必須理解和掌握各種排序算法。2015-09-09js獲取兩個(gè)數(shù)組對象的差集實(shí)現(xiàn)方法
這篇文章主要為大家介紹了js獲取兩個(gè)數(shù)組對象的差集實(shí)現(xiàn)方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08微信小程序通過點(diǎn)擊事件跨頁面?zhèn)鲄⒓癲ata-方法傳參(data-)的示例詳解
在?vue?中,我們可以直接在點(diǎn)擊事件中放入傳遞的參數(shù)進(jìn)行傳參;然而微信小程序中并不適用這樣的寫法,但是微信小程序可以通過自定義屬性從而綁定參數(shù)使用,這篇文章主要介紹了微信小程序通過點(diǎn)擊事件跨頁面?zhèn)鲄⒁约癲ata-方法傳參(data-),需要的朋友可以參考下2023-12-12