开发过程中我们会不可避免的用到定位功能,而不同的方法得到的坐标也会有些偏差,比如系统的CLLocationManager定位得到的是世界标准地理坐标(WGS-84)、高德SDK定位得到的是火星坐标(GCJ-02)、百度SDK定位得到的是百度地理坐标(BD-09),那这些坐标之间是怎么实现转换的呢
<span style="font-family: Arial, Helvetica, sans-serif;">// CoordinateTransformation.h</span>
// Created by MLS on 15/12/22.
// Copyright © 2015年 MLS. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface CoordinateTransformation : NSObject
/**
* @brief 判断是否在中国
*
* @param location 世界标准地理坐标(WGS-84)
*
* @return 中国国测局地理坐标(GCJ-02)<火星坐标>
*/
+(BOOL)isLocationOutOfChina:(CLLocationCoordinate2D)location;
/**
* @brief 世界标准地理坐标(WGS-84) 转换成 中国国测局地理坐标(GCJ-02)<火星坐标>
*
* ####只在中国大陆的范围的坐标有效,以外直接返回世界标准坐标
*
* @param location 世界标准地理坐标(WGS-84)
*
* @return 中国国测局地理坐标(GCJ-02)<火星坐标>
*/
+ (CLLocationCoordinate2D)WGS84ToGCJ02:(CLLocationCoordinate2D)location;
/**
* @brief 中国国测局地理坐标(GCJ-02) 转换成 世界标准地理坐标(WGS-84)
*
* ####此接口有1-2米左右的误差,需要精确定位情景慎用
*
* @param location 中国国测局地理坐标(GCJ-02)
*
* @return 世界标准地理坐标(WGS-84)
*/
+ (CLLocationCoordinate2D)GCJ02ToWGS84:(CLLocationCoordinate2D)location;
/**
* @brief 世界标准地理坐标(WGS-84) 转换成 百度地理坐标(BD-09)
*
* @param location 世界标准地理坐标(WGS-84)
*
* @return 百度地理坐标(BD-09)
*/
+ (CLLocationCoordi