微信小程序获取当前城市名称--逆地址解析
2023-06-13 09:15:14 时间
问题
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
https://mapapi.qq.com/web/miniprogram/JSSDK/qqmap-wx-jssdk1.2.zip
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);
}
});
}
});
编译
我们看返回信息
现在是有返回当前位置详细信息了,当前也包括城市名称。
问题解决!
相关文章
- 如何通过微信查询对方地址
- win10修改dns服务器地址,教你Win10如何更改首选DNS服务器地址
- pyqt5 qtwidgets_第六高级中学地址
- 彩虹云商城QQ微信快捷登录设置教程,附QQ互联分发api平台地址
- Adobe After Effects 2022安装包+安装教程-Ae软件全版本下载地址
- ubuntu20.04设置静态ip地址(包括不同版本)
- 深入了解MySQL数据库及其地址(mysql数据库地址)
- 微信聊天中打出地址电话姓名 可以一键寄快递了
- 微信:聊天时打出地址电话姓名就可支持搜寄快递
- Linux查看IP地址的方法探索(linux怎么看ip地址)
- 探索Oracle EM: 深入了解更有效的管理与监控(oracleem地址)
- 从Linux查看IP地址的方法(linux看ip地址)
- 深入Linux内核:查看网关地址(linux查看网关地址)
- Linux中快速查看本机IP地址(linux查看本机地址)
- 微信小程序在哪里打开?微信小程序入口地址、打开攻略
- 活在Linux下:获取g下载地址(linux下g下载地址)
- 改变Redis数据库IP地址: 一步步指南(redis修改ip地址)
- Linux网络地址转换解决方案(linux 地址转换)
- c#动态改变webservice的url访问地址