uniapp微信小程序獲取當(dāng)前城市名稱逆地址解析實例教程
問題
uniapp開發(fā)的小程序需要獲取當(dāng)前城市名稱
解決步驟
看文檔
當(dāng)然是看uniapp文檔,我們查到有提供相關(guān)的API,即uni.getLocation(OBJECT),獲取當(dāng)前的地理位置、速度。

我們試試吧
uni.getLocation({
type: 'wgs84',
geocode:true,
success: function (res) {
console.log('當(dāng)前位置的經(jīng)度:' + res.longitude);
console.log('當(dāng)前位置的緯度:' + res.latitude);
}
});我們發(fā)現(xiàn)只能返回經(jīng)緯度信息,并不會返回城市信息。

原來是只有app才支持geocode
哈哈事情沒有想象中那么簡單~

思考ing…
查閱了相關(guān)資料,原來是位置詳細信息的一些保密協(xié)議,并不能直接獲取到。那么我們就需要通過經(jīng)緯度,利用騰訊地圖JavaScript SDK逆地址解析,即輸入坐標(biāo)返回地理位置信息。
有方法了,開整
逆地址解析
1. 創(chuàng)建應(yīng)用
打開騰訊地圖開放平臺,創(chuàng)建應(yīng)用

然后
控制臺 ->應(yīng)用管理 -> 我的應(yīng)用 ->添加key-> 勾選

小程序SDK需要用到webserviceAPI的部分服務(wù),所以使用該功能的KEY需要具備相應(yīng)的權(quán)限
授權(quán)ip即當(dāng)前連接服務(wù)的IP地址(注意:上線后這個一定要換成上線IP地址哦)
填入微信小程序appid

現(xiàn)在有了地圖秘鑰key
2. uniapp配置 pages.json配置
加入以下配置項,用于申請獲得位置權(quán)限
"permission": {
"scope.userLocation": {
"desc": "你的位置信息將用于小程序位置接口的效果展示"
}
}
uniapp配置

這里填寫的描述信息就是微信彈起信息微信授權(quán)彈框的描述信息

3. 代碼部分
var QQMapWX = require('@/utils/qqmap-wx-jssdk.min.js');
// 實例化API核心類
var qqmapsdk = new QQMapWX({
key: '' // 必填
});
key即申請的騰訊地圖秘鑰key
uni.getLocation({
type: 'gcj02',
geocode: true,
success: function (res) {
//逆地址解析 坐標(biāo)轉(zhuǎn)地址信息
qqmapsdk.reverseGeocoder({
//Object格式
location: {
latitude: res.latitude,
longitude: res.longitude
},
success: function(res) {//成功后的回調(diào)
const mapdata=res.result.ad_info;
that.city = mapdata.city;
},fail: function(error) {
console.error(error);
},
complete: function(res) {
//console.log(res);
}
});
}
});
編譯

我們看返回信息

現(xiàn)在是有返回當(dāng)前位置詳細信息了,當(dāng)前也包括城市名稱。
問題解決!
總結(jié)
到此這篇關(guān)于uniapp微信小程序獲取當(dāng)前城市名稱逆地址解析的文章就介紹到這了,更多相關(guān)uniapp微信小程序獲取城市名稱內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于微信小程序使用echarts/數(shù)據(jù)刷新重新渲染/圖層遮擋問題
這篇文章主要介紹了微信小程序使用echarts/數(shù)據(jù)刷新重新渲染/圖層遮擋問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
JavaScript實現(xiàn)單圖片上傳并預(yù)覽功能
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)單圖片上傳并預(yù)覽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09

