iOS 百度坐标(BD-09) 火星坐标(GCJ-02)互转

2019-04-09  本文已影响0人  指尖划过的风

// 百度转高德

-(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;
    
}

上一篇下一篇

猜你喜欢

热点阅读