uni.getLocation 默认为 wgs84 返回 gps 坐标,gcj02 返回国测局坐标
注意:App 和 H5 需配置定位 SDK 信息才可支持 gcj02。
GPS坐标(WGS84)是全球定位系统使用的坐标系,通常用于全球范围内的位置定位。而GCJ02(国测局坐标)是中国国家测绘局制定的一种地理坐标系,也称为火星坐标系,用于在中国境内进行位置定位。
区别主要体现在以下几个方面:
- 坐标偏移:由于安全和政策等原因,中国政府对GPS定位进行了加密偏移处理,导致GPS获取的坐标与实际位置存在一定的偏差。GCJ02是一种基于加密偏移后的坐标系,相对于GPS坐标有一定的偏移。
- 数据保护:使用GPS定位获取的坐标信息属于全球公开数据,而GCJ02坐标是经过国家加密处理的,相对于GPS坐标具有更高的数据保护性。
- 地图匹配:在中国,大部分地图应用都会使用GCJ02坐标系进行地图展示和位置匹配。如果直接使用GPS坐标在中国的地图上进行标注,可能会出现位置不准确的情况。
需要注意的是,GCJ02坐标并不是一个全球通用的坐标系,它主要适用于中国境内的地理定位。在应用开发中,如果需要在中国境内进行位置展示、导航等功能,建议使用GCJ02坐标系进行计算和显示。如果需要与国际通用的坐标系统进行交互,可以使用坐标转换算法将坐标数据转换为其他系统(如WGS84)的坐标。
uni.getLocation({
type: 'gcj02', //设置type为gcj02
isHighAccuracy: true,
success: async (res) => {
const { latitude, longitude } = res
},
fail: function (err) {
console.log("🚀 ~ file: clockIn.vue:72 ~ getLocation ~ err:", err)
},
complete: function () {
console.log('complete')
}
})