百度地圖坐標系和火星坐標系之間的互相轉換


// 百度轉火星

-(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 * M_PI);

    

    double theta = atan2(bd_y, bd_x) - 0.000003 * cos(bd_x * M_PI);

    

    googleGps.longitude = z * cos(theta);

    

    googleGps.latitude = z * sin(theta);

    

    return googleGps;

    

}

其他坐標轉百度坐標系

 CLLocationCoordinate2D test = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude);

        //轉換 google地圖、soso地圖、aliyun地圖、mapabc地圖和amap地圖所用坐標至百度坐標

        NSDictionary* testdic = BMKConvertBaiduCoorFrom(test,BMK_COORDTYPE_COMMON);

        //轉換GPS坐標至百度坐標

        testdic = BMKConvertBaiduCoorFrom(test,BMK_COORDTYPE_GPS);

        NSLog(@"x=%f,y=%f",location.coordinate.latitude,location.coordinate.longitude);

        NSLog(@"x=%@,y=%@",[testdic objectForKey:@"x"],[testdic objectForKey:@"y"]);

        NSString *lat = [MCEncryption base64FromBase64String:[testdic objectForKey:@"x"]] ;

        NSString *lon = [MCEncryption base64FromBase64String:[testdic objectForKey:@"y"]] ;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM