上java代码
/**
* gps转百度坐标系
* @author ardo
*
* WGS-84:是国际标准,GPS坐标(Google Earth使用、或者GPS模块)
GCJ-02:中国坐标偏移标准,Google
Map、高德、腾讯使用 BD-09:百度坐标偏移标准,Baidu Map使用
pi: 圆周率。
a: 卫星椭球坐标投影到平面地图坐标系的投影因子。
ee: 椭球的偏心率。
x_pi: 圆周率转换量。
transformLat(lat, lon): 转换方法,比较复杂,不必深究了。输入:横纵坐标,输出:转换后的横坐标。
transformLon(lat, lon): 转换方法,同样复杂,自行脑补吧。输入:横纵坐标,输出:转换后的纵坐标。
wgs2gcj(lat, lon): WGS坐标转换为GCJ坐标。
gcj2bd(lat, lon): GCJ坐标转换为百度坐标。
出现差错的 把 x的 y位置调一下
*
*/
public class GpsToBaidu {
static double pi = 3.14159265358979324;
static double a = 6378245.0;
static double ee = 0.00669342162296594323;
public final static double x_pi = 3.14159265358979324 * 3000.0 / 180.0;
public static void main(String[] args) {
double[] point = wgs2bd(39.042366, 117.224174);
System.out.println("y=" + point[0] + " x=" + point[1]);
//117.2368628208316,39.04962672134104 -quanlei
//117.2368519061299,39.04963023317262 -转后
}
public static double[] wgs2bd(double l