您的位置:首页 > 移动开发 > IOS开发

iOS定位经纬度转换

2017-09-27 16:47 281 查看
iOS自带地图为高德地图,很容易让人误解为和高的SDK一样。但是经纬度标准和国内高的地图经纬度标准不一致,iOS系统内置为国际标准(WGS-84),国内高德地图SDK地图为GCJ-02)<火星坐标>(百度地理坐标为(BD-09))。很多时候发现问题的时候项目已经进行了大部分,这个时候就可用到各类标准转码。详细可见demo,具体demo:

底部点击demo可下载

/**

 * @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)

 */

+ (CLLocationCoordinate2D)wgs84ToBd09:(CLLocationCoordinate2D)location;

/**

 * @brief中国国测局地理坐标(GCJ-02)<火星坐标>转换成百度地理坐标(BD-09)

 *

 * @param location 中国国测局地理坐标(GCJ-02)<火星坐标>

 *

 * @return百度地理坐标(BD-09)

 */

+ (CLLocationCoordinate2D)gcj02ToBd09:(CLLocationCoordinate2D)location;

/**

 * @brief百度地理坐标(BD-09)转换成中国国测局地理坐标(GCJ-02)<火星坐标>

 *

 * @param location 百度地理坐标(BD-09)

 *

 * @return中国国测局地理坐标(GCJ-02)<火星坐标>

 */

+ (CLLocationCoordinate2D)bd09ToGcj02:(CLLocationCoordinate2D)location;

/**

 * @brief百度地理坐标(BD-09)转换成世界标准地理坐标(WGS-84)

 *

 *  ####此接口有1-2米左右的误差,需要精确定位情景慎用

 *

 * @param location 百度地理坐标(BD-09)

 *

 * @return世界标准地理坐标(WGS-84)

 */

+ (CLLocationCoordinate2D)bd09ToWgs84:(CLLocationCoordinate2D)location;

点击下载demo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: