Cordova 开发日记 07:cordova-plugin-baidu-geolocation 定位偏差问题
使用这个 SDK 定位出的经纬度,在百度地图中显示的位置有很大偏差。
经过研究,其实定位的地址是对的,只是百度使用的是自己的坐标系 (bd09ll), 而 SDK 默认是 gcj02.
js
var options = {
enableHighAccuracy: true, // 是否使用 GPS
maximumAge: 30000, // 缓存时间
timeout: 27000, // 超时时间
coorType: "bd09ll", // 默认是 gcj02,可填 bd09ll 以获取百度经纬度用于访问百度 API
};
修改 coorType 即可。
关于坐标系的补充
wgs84 --GPS 系统直接通过卫星定位获得的坐标。(最基础的坐标。)
gcj02 -- 兲朝已安全原因为由,要求在中国使用的地图产品使用的都必须是加密后的坐标。这套加密后的坐标就是 gcj02 google 的中国地图。高德地图。他们为中国市场的产品都是用这套坐标。
bd09ll -- 百度又在 gcj02 的技术上将坐标加密就成了 bd09ll 坐标。