// 把火星坐标转换成百度坐标
-(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;
}
|