const double x_pi = 3.14159265358979324 * 3000.0 / 180.0;
//火星坐标系 (GCJ-02) 转换 百度坐标系 (BD-09)
+ (CLLocationCoordinate2D)convertToBaiduCoordinate:(CLLocationCoordinate2D)gcjCoordinate {
double x = gcjCoordinate.longitude;
double y = gcjCoordinate.latitude;
double z = sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);
double theta = atan2(y, x) + 0.000003 * cos(x * x_pi);
double bd_lon = z * cos(theta) + 0.0065;
double bd_lat = z * sin(theta) + 0.006;
NSLog(@"%f, %f", bd_lon, bd_lat);
return CLLocationCoordinate2DMake(bd_lat, bd_lon);
}
//百度坐标系 (BD-09) 转换 火星坐标系 (GCJ-02)
+ (CLLocationCoordinate2D)convertToGCJCoordinate:(CLLocationCoordinate2D)baiduCoordinate {
double x = baiduCoordinate.longitude - 0.0065;
double y = baiduCoordi