1.获取小程序的地理位置授权
全局配置
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
}
2.uni.authorize(OBJECT)
####### 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。
uni.authorize({
scope: 'scope.userLocation',
success() {
//若是用户同意授权,则会跳转到此函数,可以在此调用获取位置信息的api
uni.getLocation({
type: 'gcj02',//腾讯地图使用gcj02获取位置坐标
success: function (res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
}
});
},
fail(err){
console.log(err)
})
3.uni.getLocation({})获取位置的api
小程序获取到的只是经纬度,需要调用第三方接口转换成文字信息,这里我们用腾讯的api
uni.getLocation({
type: 'gcj02',//腾讯地图使用gcj02获取位置坐标
success: function (res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
}
});
4.在腾讯位置服务中的控制台key管理创建新的key
1.上图中是我已经创建好的key,用笔涂掉的是密钥,密钥后续得用;
2.点击顶部导航栏中的产品,选择微信小程序JavaScript SDK点击进入
3.下载下载微信小程序JavaScriptSDK,点击下图中第三项中的链接即可
4.将下载后的文件解压,我们只需要将qqmap-wx-jssdk.min.js这个文件放到我们小程序的static文件夹下
5.在小程序中根据上图文档中的引入方式引入
7.小程序中逆地址解析(坐标位置描述),自己打印看看,在电脑上可能有点差距,但在手机上准确
在文档中有多种逆地址解析的方法,我只选择了其中的一个