Skip to content

Cordova 开发日记 07:cordova-plugin-baidu-geolocation 定位偏差问题

使用这个 SDK 定位出的经纬度,在百度地图中显示的位置有很大偏差。

经过研究,其实定位的地址是对的,只是百度使用的是自己的坐标系 (bd09ll), 而 SDK 默认是 gcj02.

javascript
var options = {
  enableHighAccuracy: true, // 是否使用 GPS
  maximumAge: 30000, // 缓存时间
  timeout: 27000, // 超时时间
  coorType: "bd09ll", // 默认是 gcj02,可填 bd09ll 以获取百度经纬度用于访问百度 API
};
var options = {
  enableHighAccuracy: true, // 是否使用 GPS
  maximumAge: 30000, // 缓存时间
  timeout: 27000, // 超时时间
  coorType: "bd09ll", // 默认是 gcj02,可填 bd09ll 以获取百度经纬度用于访问百度 API
};

修改 coorType 即可。

关于坐标系的补充

wgs84 --GPS 系统直接通过卫星定位获得的坐标。(最基础的坐标。)

gcj02 -- 兲朝已安全原因为由,要求在中国使用的地图产品使用的都必须是加密后的坐标。这套加密后的坐标就是 gcj02 google 的中国地图。高德地图。他们为中国市场的产品都是用这套坐标。

bd09ll -- 百度又在 gcj02 的技术上将坐标加密就成了 bd09ll 坐标。

最后编辑时间:

Version 4.0 (framework-1.0.0-rc.20)