美文网首页
iOS 百度坐标(BD-09) 火星坐标(GCJ-02)互转

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

作者: 指尖划过的风 | 来源:发表于2019-04-09 09:50 被阅读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;
        
    }
    
    

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/eopviqtx.html