// 百度转高德
-(NSDictionary *)bdToGaodeWithLat:(double)lat andLon:(double)lon
{
double x = lon - 0.0065, y = lat - 0.006;
double z = sqrt(x * x + y * y) - 0.00002 * sin(y * M_PI);
double theta = atan2(y, x) - 0.000003 * cos(x * M_PI);
double longitude = z * cos(theta);//lng
double latitude = z * sin(theta);//lat
NSLog(@"gg_lon:%f",z * cos(theta));
NSLog(@"gg_lat:%f",z * sin(theta));
NSString *lonStr = [NSString stringWithFormat:@"%f",longitude];
NSString *latStr = [NSString stringWithFormat:@"%f",latitude];
NSDictionary *dic = @{@"longitude":lonStr,@"latitude":latStr};
return dic;
}
//高德转百度
-(NSDictionary *)gaodeToBdWithLat:(double)lat andLon:(double)lon
{
double x = lon + 0.0065, y = lat + 0.006;
double z = sqrt(x * x + y * y) - 0.00002 * sin(y * M_PI);
double theta = atan2(y, x) - 0.000003 * cos(x * M_PI);
double longitude = z * cos(theta);//lng
double latitude = z * sin(theta);//lat
NSString *lonStr = [NSString stringWithFormat:@"%f",longitude];
NSString *latStr = [NSString stringWithFormat:@"%f",latitude];
NSDictionary *dic = @{@"longitude":lonStr,@"latitude":latStr};
return dic;
}
网友评论