我们在小程序以及app内经常会一进入就获取当前城市,只用uniapp的getlocation只能获取到经纬度,那么如何通过经纬度获取当前位置呢(文章中使用腾讯地图)
一.在项目的mainfest.json中找到配置位置的地方(小程序)
二.使用uni.getlocation方法获取到当前的经度以及纬度。
uni.getLocation({
success: (res) => {
console.log(res);
this.latitude=res.latitude; //获取到的纬度
this.longitude =res.longitude; //获取到的经度
},
fail:(res)=>{
uni.showToast({
title:'获取位置信息失败',
icon:'none'
})
}
})
三.引入腾讯地图的sdk
https://lbs.qq.com/mobile/androidLocationSDK/androidGeoDownload 注册腾讯地图获取到免费的key值,下载js至项目中
在需要使用的页面引入js
key内填写腾讯地图申请的key值
四.使用腾讯地图获取当前具体位置信息
QQMapWX.reverseGeocoder({
location: {
latitude: this.latitude,
longitude: this.longitude
},
success: (res) => {
var cityName = res.result.address_component.city; //获取到的城市名
console.log(res);
}
})
这样就获取到了位置信息
获取地址的完整代码:
onShow() {
uni.getLocation({
success: (res) => {
console.log(res);
var latitude=res.latitude;
var longitude =res.longitude;
QQMapWX.reverseGeocoder({
location: {
latitude: latitude,
longitude: longitude
},
success: (res) => {
var cityName = res.result.address_component.city;
this.cityName=cityName ;
console.log(res);
}
})
},
fail:(res)=>{
uni.showToast({
title:'获取位置信息失败',
icon:'none'
})
}
})
},