uni.getLocation和wx.getLocation方法調(diào)用無效也不返回失敗的解決方案
線上已解決問題的代碼 記錄時間 2022.12.10
//獲得地理定位信息
uni.getLocation({
type: 'wgs84',
success: function(resp) {
console.log(11111);
//保存緯度數(shù)據(jù)
let latitude = resp.latitude;
//保存經(jīng)度度數(shù)據(jù)
let longitude = resp.longitude;
console.log('經(jīng)度' + latitude);
console.log('緯度' +longitude);
},
fail: function(resp) {
console.log(resp);}
});"permission" : {
"scope.userLocation" : {
"desc" : "測試"
}
},
"requiredPrivateInfos": ["getLocation", "chooseLocation"]desc 的位置對應(yīng)用戶授權(quán)時候的提示
插入 代碼

簡述過程
屬實被坑了一下午。
開發(fā)微信小程序,看之前的網(wǎng)課??梢灾苯油ㄟ^一下的代碼成功打印出經(jīng)度維度。然后一樣的代碼 沒有任何反應(yīng),也不報錯。起初以為是 微信小程序開發(fā)工具的bug。(排查未果)。后面又以為是uniapp的bug(排查未果)。
//獲得地理定位信息
uni.getLocation({
type: 'wgs84',
success: function (res) {
console.log('當(dāng)前位置的經(jīng)度:' + res.longitude);
console.log('當(dāng)前位置的緯度:' + res.latitude);
}
});
最后查了微信官方的說明:https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html

兩個問題:
1.需要在app.json中進(jìn)行聲明 (解決圖里第一個問題)
解決方案:
我是用的是uniapp進(jìn)行的小程序開發(fā)需要增加配置

這里添加后打包會自動在 app.json中增加。

但是注意:!!
?。。?!坑?。。∪绻辉谶@里勾選 會缺少這段代碼,打印fail的時候控制臺會報“
getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json"
"requiredPrivateInfos": ["getLocation", "chooseLocation"]
增了上面這個代碼后 會提示 授權(quán)獲取定位
另外一開始我直接使用這段代碼也可以提示授權(quán)定位,但是還是會報上面的報錯。后面試了下刪掉下面這段代碼可以 成功完成業(yè)務(wù)
uni.authorize({
scope: 'scope.userLocation',
success() {
uni.getLocation()
}
})2.小程序后臺權(quán)限開通(解決圖里第二個問題)
小程序類目 配置

需要符合鏈接中的 主體開發(fā)類目 才能申請權(quán)限開通。
注意:服務(wù)類目最多添加5個,本月可添加4次。(避免次數(shù)用完的尷尬)

點擊去開通,申請內(nèi)容和頁面自己去寫了。等待開通

然后等待中。說是預(yù)計 1-3個工作日

申請權(quán)限時候的坑。周五下午四點多申請的,五點多久駁回了,理由

我沒上傳圖片。描述比較簡單。
第二次申請比較快了,我上傳了圖片寫了很多描述用途

問題總結(jié):
1.微信小程序這個定位相關(guān)的api兩年來有過很多變動,查貼和視頻課中解釋的相差甚遠(yuǎn)。(所以查貼 看課要注意時間。隨著時間的增長微信的api改動很多)
2.合理使用 fail 參數(shù)打印報錯。(不然就會認(rèn)為沒有報錯?。。。?/p>
3.感覺微信api更改迭代的有點太快了。貌似uniapp和HBuilder工具已經(jīng)跟不上這些細(xì)節(jié)上的更新了。
分割線
補充一下:我是在個人開發(fā)者下 申請上述權(quán)限
(因為沒法企業(yè)資質(zhì) 沒有申請企業(yè)開發(fā)者)不清楚企業(yè)開發(fā)者下 是否需要申請開通。以后有機會弄企業(yè)開發(fā)者的話再補充
ps:我是業(yè)余開發(fā)者,大佬勿噴。希望能解決大家的問題。
另外 網(wǎng)上的微信小程序開發(fā)的網(wǎng)課,大家要注意時間。好多微信的api接口這兩年都有變化和限制。
最后,吐槽基礎(chǔ)微信生態(tài)。常年做微信、支付寶的支付等第三方業(yè)務(wù)依賴項目。個人感覺微信生態(tài)的底層做得真的不如支付寶生態(tài)。各種限制和問題(奇怪的限制 奇怪的問題,浪費好多時間去了解和解決)。審核的速度和客服電話 都不如支付寶。
到此這篇關(guān)于uni.getLocation和wx.getLocation方法調(diào)用無效也不返回失敗的解決方案的文章就介紹到這了,更多相關(guān)uni.getLocation和wx.getLocation方法調(diào)用無效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript跨瀏覽器獲取頁面中相同class節(jié)點的方法
這篇文章主要介紹了JavaScript跨瀏覽器獲取頁面中相同class節(jié)點的方法,本文講解使用getELementsByClassName函數(shù)解決這個需求,并給了一個開源的getELementsByClassName函數(shù)實現(xiàn),功能更加強大,需要的朋友可以參考下2015-03-03

