uni-app 根据 当前经纬度获取 区域编码
let that =this;
uni.getLocation({
type: 'wgs84',
success: function(res) {
that.weizhiInfo = res;
const latitude = res.latitude;
const longitude = res.longitude;
uni.request({
header:{
"Content-Type": "application/text"
},
//注意:这里的key值需要高德地图的 web服务生成的key 只有web服务才有逆地理编码
url:'https://restapi.amap.com/v3/geocode/regeo? output=JSON&location='+res.longitude+','+res.latitude+'&key=280802ed0116fef931dbcf5e7e9278d7&radius=1000&extensions=all',
success(re) {
if(re.statusCode===200){
that.areaCode=re.data.regeocode.addressComponent.adcode;
that.currentChooseAddress = re.data.regeocode.addressComponent.district;
that.getStoreList(true)
}else{
console.log("获取信息失败,请重试!")
}
}
});
},
fail() {
}
})
----------------------------------------------------------------------------------
/**
* 坐标转换,百度地图坐标转换成腾讯地图坐标
* lng 腾讯经度(pointy)
* lat 腾讯纬度(pointx)
* 经度>纬度
*/
export const bMapToQQMap = (lng, lat) => {
if (lng == null || lng == '' || lat == null || lat == '')
return [lng, lat];
var x_pi = 3.14159265358979324;
var x = parseFloat(lng) - 0.0065;
var y = parseFloat(lat) - 0.006;
var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
var lng = (z * Math.cos(theta)).toFixed(7);
var lat = (z * Math.sin(theta)).toFixed(7);
return [lng, lat];
}
/**
* 坐标转换,腾讯地图转换成百度地图坐标
* lng 腾讯经度(pointy)
* lat 腾讯纬度(pointx)
* 经度>纬度
*/
export const qqMapToBMap = (lng, lat) => {
if (lng == null || lng == '' || lat == null || lat == '')
return [lng, lat];
var x_pi = 3.14159265358979324;
var x = parseFloat(lng);
var y = parseFloat(lat);
var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
var lng = (z * Math.cos(theta) + 0.0065).toFixed(5);
var lat = (z * Math.sin(theta) + 0.006).toFixed(5);
return [lng, lat];
}