1.uni.getlocation 可以获取到经纬度 但是获取到的地点一直是在市政府
原因:项目未部署在https上 部署在https上之后就可以获取到准确经纬度
2.通过获取到的经纬度来获取地址详细信息
解决办法:高德api
uni.getLocation({
type: 'wgs84',
altitude: true,
success: (res) => {
console.log('定位成功', res.latitude, res.longitude)
let lon = res.longitude
let lat = res.latitude
uni.request({
type: "GET",
url: "https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=" + res.longitude + "," + res.latitude +
"&key=你的高德webkey&radius=1000&extensions=all",
dataType: "json",
complete: res => {
// console.log(res,'高德地址')
console.log(res.data.regeocode.formatted_address, '详细地址')
}
})
},
fail: (err) => {
console.log('定位失败', err)
lon = '-1'
lat = '-1'
},
})
3.不同坐标系间的相互转换
解决办法 :gcoord
官方文档:https://github.com/hujiulong/gcoord
// wgs84转百度
var bd09 = gcoord.transform([this.longitude, this.latitude], gcoord.WGS84, gcoord.BD09);