六年代码两茫茫,不思量,自难忘
6年资深前端主管一枚,只分享技术干货,我的项目实战经验
关注博主不迷路~
问题
uniapp开发的小程序须要获取以后城市名称
解决步骤
看文档
当然是看uniapp文档,咱们查到有提供相干的API,即uni.getLocation(OBJECT)
,获取以后的地理位置、速度。
咱们试试吧
uni.getLocation({ type: 'wgs84', geocode:true, success: function (res) { console.log('以后地位的经度:' + res.longitude); console.log('以后地位的纬度:' + res.latitude); }});
咱们发现只能返回经纬度信息,并不会返回城市信息。
==原来是只有app才反对geocode==
哈哈事件没有设想中那么简略~
思考ing...
查阅了相干材料,原来是地位详细信息的一些窃密协定,并不能间接获取到
。那么咱们就须要通过经纬度,利用腾讯地图JavaScript SDK逆地址解析,即输出坐标返回地理位置信息。
有办法了,开整
逆地址解析
1. 创立利用
关上腾讯地图开放平台,创立利用
而后
控制台 ->利用治理 -> 我的利用 ->增加key-> 勾选小程序SDK须要用到webserviceAPI的局部服务,所以应用该性能的KEY须要具备相应的权限
受权ip即以后连贯服务的IP地址(留神:上线后这个肯定要换成上线IP地址哦)
填入微信小程序appid
当初有了地图秘钥key
2. uniapp配置
- pages.json配置
退出以下配置项,用于申请取得地位权限
"permission": { "scope.userLocation": { "desc": "你的地位信息将用于小程序地位接口的成果展现" }}
- uniapp配置
这里填写的形容信息就是微信弹起信息微信受权弹框的形容信息
3. 代码局部
下载微信小程序JavaScriptSDK
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) { //逆地址解析 坐标转地址信息 qqmapsdk.reverseGeocoder({ //Object格局 location: { latitude: res.latitude, longitude: res.longitude }, success: function(res) {//胜利后的回调 const mapdata=res.result.ad_info; that.city = mapdata.city; },fail: function(error) { console.error(error); }, complete: function(res) { //console.log(res); } }); } });
编译
咱们看返回信息
当初是有返回以后地位详细信息了,以后也包含城市名称。
问题解决!
总结
遇到问题并不可怕,可怕的是停滞不前,急流勇退。只有发现问题能力解决问题,才会失去成长和锤炼。人生的路总是一波三折,代码也是,风雨之后总会见到彩虹的,加油!
✨原 创 不 易 , 还 希 望 各 位 支 持
点 赞 , 你 的 认 可 是 我 创 作 的 动 力 !
⭐️ 收 藏 , 你 的 青 睐 是 我 努 力 的 方 向 !
✏️ 评 论 , 你 的 意 见 是 我 进 步 的 财 富 !