实现目的:将百度地图经纬度 转换到 腾讯地图/Google 对应的经纬度.
方法1:使用代码进行转换
存在的问题:转换之后误差大,基本不可用
public static void Convert_BD09_To_GCJ02(double lat, double lng) { double x_pi = Math. PI * 3000.0 / 180.0; double x = lng - 0.0065, y = lat - 0.006; double z = Math. sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi); double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi); lng = z * Math. cos(theta ); lat = z * Math. sin(theta ); System. out.println(lng); System. out.println(lat);}
方法2:
该网站提供转换服务,坐标较为准确,可用,后台调用没有仔细研究
http:///javascript_v2/case-run.html#sample-geocoding-reverse
总结:
由于腾讯的经纬度和google经纬度是同一个坐标系,百度经纬度为自己的体系,目前网上搜索到的算法代码,都不是十分精确,所以建议使用地图开发方提供的Api进行转换.