前言:
本篇文章使用的腾讯地图的api,获取当前地址是uniapp的,也可以根据其他地图进行查找。获取到当前城市坐标也可以自行使用其他的地图。
目录
一、首先获取用户所在地
1.获取授权信息
const that=this
uni.authorize({
scope: 'scope.userLocation', // 获取地理信息必填的参数,其它参数见文档
success(res) {
that.getLocationFn()
},
// 授权失败
fail(err) {
uni.showModal({
title: '温馨提示',
content: '此功能需要授权后使用!',
confirmText: '前去授权',
success(res){
if(res.confirm){
uni.openSetting({
success(res) {//打开设置页面
}
}else if(res.cancel){
}
}
})
}
})
2.获取地理位置
uni.getLocation({
type: 'gcj02', // <map> 组件默认为国测局坐标gcj02
altitude: true,
success(res) {
console.log('返回的位置信息', res)
}
})
3.根据地理位置查找城市
//腾讯地图上有个api 叫逆地理位置解析可通过下标去获取城市名称及编号
//reverseGeocoder(options:Object)
// 本接口提供由坐标到坐标所在位置的文字描述的转换,输入坐标返回地理位置信息和附近poi列表。
var QQMapWX = require('xxx/qqmap-wx.js');
// 实例化API核心类
var qqmapsdk = new QQMapWX({
key: '开发密钥(key)' // 必填
});
qqmapsdk.reverseGeocoder({
//Object格式
location: {
latitude: 39.984060,
longitude: 116.307520
}, success: function(res) {//成功后的回调
console.log(res.result.ad_info);//查找城市编号
},fail: function(error) {
console.error(error);
},
complete: function(res) {
console.log(res);
}
});
4.城市的信息
返回城市信息:点击查看详细返回数据表