该功能可用于移动端,官网:uni.getLocation(OBJECT) | uni-app官网
uni.getLocation({
type: 'gcj02', // 坐标类型,默认为wgs84,可选的值为gcj02和bd09ll
// isHighAccuracy:true,
success: res => {
// 获取成功,经度和纬度在res.longitude和res.latitude中
console.log('longitude:', res.longitude);
console.log('latitude:', res.latitude);
//业务代码......
},
fail: err => {
// 获取失败,err为错误信息
console.log('getLocation err:', err);
}
});
使用gcj02精度会更高些,isHighAccuracy:true也是为了更高精度的显示。在小程序中调用该方法,会要求授权位置权限,同意即可使用。
地图逆地址解析
无论是腾讯还是高德还是百度,逆地址解析大方法都是一样,这里用天地图举例。
uni.request({
header: {
'Content-Type': 'application/text',
},
//注意:这里的key值需要高德地图的 web服务生成的key 只有web服务才有逆地理编码
url: `http://api.tianditu.gov.cn/geocoder?postStr={'lon':${经度},'lat':${纬度},'ver':1}&type=geocode&tk=你的key`,
success(res) {
console.log(res, "获取位置成功信息")
},
fail(err) {
console.log(err, "获取位置失败信息")
}
})
第三方会提供api接口,uniapp中调用,这里使用的uni.request方法发起请求