1、首先需要申请位置服务 在manifest.json文件中
2、获取经纬度
- 通过uni.getLocation获取经纬度
uni.getLocation({ type: 'wgs84', success: function(res) { console.log('当前位置的经度:' + res.longitude); console.log('当前位置的纬度:' + res.latitude); } });
- 小程序经纬度获取bug解决
// 在manifest.json文件中,源码视图中填写以下内容 "requiredPrivateInfos":[ "getLocation" ]
3、通过高德地图api,获取用户所在地址 (高德api官网:https://lbs.amap.com/)
1.获取key
-
1.登录/注册账号 -> 点击右上角“控制台”
-
2.应用管理 -> 我的应用 -> 创建新应用
-
3.添加key
-
4.获取key成功
2.获取城市数据
- 开发支持 -> 选择“Web服务 API” -> 选择相关的api发送请求
onLoad() {
// 获取经纬度
uni.getLocation({
type: 'wgs84',
success: function(res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
// 高德地图-地图相关api
uni.request({
url:'https://restapi.amap.com/v3/geocode/regeo',
data:{
key:'key值', // 你申请的key值
location:res.longitude+','+res.latitude
},
success(obj) {
console.log(obj.data.regeocode,'获取的城市数据');
}
})
}
});
},