火星和百度坐标转换


//  把火星坐标转换成百度坐标
-(CLLocationCoordinate2D)hhTrans_bdGPS:(CLLocationCoordinate2D)fireGps
{
     
    CLLocationCoordinate2D bdGps;
     
    double huo_x=fireGps.longitude;
     
    double huo_y=fireGps.latitude;
     
    double z = sqrt(huo_x * huo_x + huo_y * huo_y) + 0.00002 * sin(huo_y * x_pi);
     
    double theta = atan2(huo_y, huo_x) + 0.000003 * cos(huo_x * x_pi);
     
    bdGps.longitude = z * cos(theta) + 0.0065;
     
    bdGps.latitude = z * sin(theta) + 0.006;
     
    return bdGps;
     
}
 
// 百度转火星
-(CLLocationCoordinate2D)hhTrans_GCGPS:(CLLocationCoordinate2D)baiduGps
{
     
    CLLocationCoordinate2D googleGps;
     
    double bd_x=baiduGps.longitude - 0.0065;
     
    double bd_y=baiduGps.latitude - 0.006;
     
    double z = sqrt(bd_x * bd_x + bd_y * bd_y) - 0.00002 * sin(bd_y * x_pi);
     
    double theta = atan2(bd_y, bd_x) - 0.000003 * cos(bd_x * x_pi);
     
    googleGps.longitude = z * cos(theta);
     
    googleGps.latitude = z * sin(theta);
     
    return googleGps;
     
}

你可能感兴趣的:(火星和百度坐标转换)