调用地图选择
console.log("点击地区选择")
uni.chooseLocation({
success: (res) => {
this.hasLocation = true,
console.log(res);
this.zuobiao.latitude = res.latitude;
this.zuobiao.longitude = res.longitude;
that.getAddress(res.latitude,res.longitude);
this.getServerApi(res.latitude,res.longitude);
}
})
通过经纬度获取地址信息
//坐标转为地址信息
getAddress(latitude,longitude){
mapSearch.reverseGeocode({
point: {
latitude: latitude,
longitude: longitude
}
}, ret => {
//console.log(JSON.stringify(ret));
this.location=ret.address;
var reg = /.+?(省|市|自治区|自治州|县|区)/g;
this.locationAddress = (ret.address).match(reg).toString().split(",");
//console.log(JSON.stringify(this.locationAddress))
this.zuobiao.province = this.locationAddress[0];
this.zuobiao.city = this.locationAddress[1];
this.zuobiao.district = this.locationAddress[2];
})
},
地理坐标系转换工具,支持WGS84/GCJ02/BD09等常用坐标系互转
详细的使用方式请查看gcoord的文档
直接在页面中引入:
//<script src="https://unpkg.com/gcoord/dist/gcoord.js"></script>
import gcoord from '@/common/gcoord.js'
例如从手机的GPS得到一个经纬度坐标,需要将其展示在高德地图上,则应该将当前坐标从WGS-84坐标系转换为GCJ-02坐标系
var result = gcoord.transform(
[116.403988, 39.914266], // 经纬度坐标
gcoord.WGS84, // 当前坐标系
gcoord.GCJ02 // 目标坐标系
);
console.log(result); // [116.41661560068297, 39.92196580126834]