uni-app?開發(fā)微信小程序定位功能
使用onLocationChange方法持續(xù)監(jiān)聽地址,根據(jù)定位精度字段判斷是否使用此次定位的經(jīng)緯度。
已經(jīng)會定位的直接跳七、相對精確的獲取經(jīng)緯度地址
一、注冊賬號
把信息都輸入就好了
騰訊位置服務(wù) - 立足生態(tài),連接未來

二、創(chuàng)建應(yīng)用和Key
1.進(jìn)入控制臺

2.創(chuàng)建應(yīng)用

3.創(chuàng)建Key
啟用產(chǎn)品勾選WebServiceAPI和微信小程序,填寫相應(yīng)信息。

三、登錄微信公眾平臺后臺
增加request合法域名:https://apis.map.qq.com
開發(fā)管理 —— 開發(fā)設(shè)置 —— 服務(wù)器域名 ——修改

四、下載微信小程序JavaScriptSDK
下載后放到自己的項(xiàng)目中
微信小程序JavaScript SDK | 騰訊位置服務(wù)
五、代碼實(shí)現(xiàn)
var QQMap = require('../../js_sdk/qqmap-wx-jssdk.min.js') // SDK放置的路徑
var qqmapsdk = new QQMap({
key: '**************' // 自己的Key
});六、一般獲取經(jīng)緯度地址
在比較繁華的地方,一般用這個就夠了。
wx.getLocation({
type: 'wgs84',
success: res => {
console.log(res); //獲取到經(jīng)緯度值
qqmapsdk.reverseGeocoder({ // 根據(jù)經(jīng)緯度轉(zhuǎn)化為地址
location: {
latitude: res.latitude,
longitude: res.longitude
},
success: res => {
console.log(res);
}
})
}
});七、相對精確的獲取經(jīng)緯度地址
1.獲取位置監(jiān)聽的權(quán)限
uni.authorize({
scope: 'scope.userLocation',
success(res) {
console.log(res);
}
})2.開啟位置監(jiān)聽
wx.startLocationUpdate({
success: res => {
console.log(res);
},
fail: res => {
console.log(res);
//在這里處理開啟失敗的業(yè)務(wù)邏輯
}
})3.監(jiān)聽實(shí)時地理位置變化
let index = 0;
const _locationChangeFn = function(res) {
console.log('location change', res)
index++;
//res.accuracy 代表定位精度, 這里根據(jù)定位精度和定位次數(shù)進(jìn)行一個綜合判斷,根據(jù)用戶在當(dāng)前頁面的停留時間進(jìn)行相應(yīng)的修改
if (index > 10 || (res.accuracy < 35 && index > 5)) {
wx.offLocationChange();
wx.stopLocationUpdate();
qqmapsdk.reverseGeocoder({// 根據(jù)經(jīng)緯度轉(zhuǎn)化為地址
location: {
//緯度
latitude: res.latitude,
//經(jīng)度
longitude: res.longitude
},
success: function(res1) {
console.log(res1.result);
},
fail: function(res1) {
console.log(res1);
}
})
}
}
//監(jiān)聽實(shí)時地理位置變化事件
wx.onLocationChange(_locationChangeFn)這樣定位出來的地址可能差不多,但是經(jīng)緯度要比直接用getLocation獲取到的更準(zhǔn)確。
到此這篇關(guān)于uni-app 開發(fā)微信小程序定位的文章就介紹到這了,更多相關(guān)uni-app小程序定位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue使用eventBus遇到數(shù)據(jù)不更新的問題及解決
這篇文章主要介紹了vue使用eventBus遇到數(shù)據(jù)不更新的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
tomcat部署前端vue項(xiàng)目步驟(項(xiàng)目上線具體操作)
在實(shí)際開發(fā)中,我們經(jīng)常會遇到將Vue項(xiàng)目部署到Tomcat服務(wù)器上的需求,下面這篇文章主要給大家介紹了關(guān)于tomcat部署前端vue項(xiàng)目(項(xiàng)目上線具體操作)的相關(guān)資料,需要的朋友可以參考下2024-07-07
vue生成初始化名字相近的變量并放到數(shù)組中的示例代碼
項(xiàng)目上有一個需求,頁面上有50、60個數(shù)據(jù)變量,是依次排序遞增的變量,中間有個別變量用不到,不想把這些變量直接定義在data() { }內(nèi),這篇文章主要介紹了vue生成初始化名字相近的變量并放到數(shù)組中的示例代碼,需要的朋友可以參考下2024-08-08
vue element-ul實(shí)現(xiàn)展開和收起功能的實(shí)例代碼
這篇文章主要介紹了vue element-ul實(shí)現(xiàn)展開和收起功能的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
Vue?ElementUI?table實(shí)現(xiàn)表格斜線分隔線
這篇文章主要為大家詳細(xì)介紹了Vue?ElementUI?table實(shí)現(xiàn)表格斜線分隔線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

