Zws-China / swift-Coordinate

swift经纬度转换,坐标系转换💯 WGS-84(国际标准)、GCJ-02(火星坐标) 、百度坐标相互转换

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coordinate

iOS swift经纬度转换,坐标系转换💯 WGS-84(国际标准)、GCJ-02(火星坐标) 、百度坐标相互转换

此转换库为本地坐标转换库,不需要依赖网络资源,快速转换。可在极短时间内转换大量坐标。
如果使用过程中有问题,请issue我 (。。)
如果觉得对你还有些用,顺手点一下star吧 (。。)

Demo截图

在这里插入图片描述

方法

提供以下方法

/**
 *  判断经纬度是否超出**境内
 */
static func isLocationOutOfChina(_ location: CLLocationCoordinate2D) -> Bool
 
/**
 *  将WGS-84(国际标准)转为GCJ-02(火星坐标):
 */
static func transformFromWGSToGCJ(_ wgsLoc: CLLocationCoordinate2D) -> CLLocationCoordinate2D

/**
 *  将GCJ-02(火星坐标)转为百度坐标:
 */
static func transformFromGCJToBaidu(_ p: CLLocationCoordinate2D) -> CLLocationCoordinate2D 

/**
 *  将百度坐标转为GCJ-02(火星坐标):
 */
static func transformFromBaiduToGCJ(_ p: CLLocationCoordinate2D) -> CLLocationCoordinate2D 

/**
 *  将GCJ-02(火星坐标)转为WGS-84:
 */
static func transformFromGCJToWGS(_ p: CLLocationCoordinate2D) -> CLLocationCoordinate2D 

如何使用

下载此项目,将项目中的WSCoordinate.swift添加到您的项目中。

在您需要转换的地方使用

//将WGS-84(国际标准)转为GCJ-02(火星坐标)
let WGSToGCJ = WSCoordinate.transformFromWGSToGCJ(32.0806670849, 118.9060163095)
    
// 将GCJ-02(火星坐标)转为百度坐标
let GCJToBaidu = WSCoordinate.transformFromGCJToBaidu(32.0806670849, 118.9060163095)

//将百度坐标转为GCJ-02(火星坐标)
let baiduToGCJ = WSCoordinate.transformFromBaiduToGCJ(32.0806670849, 118.9060163095)

//将GCJ-02(火星坐标)转为WGS-84
let GCJToWGS = WSCoordinate.transformFromGCJToWGS(coordinate)(32.0806670849, 118.9060163095)

方法的返回值是一个CLLocationCoordinate2D结构体,格式为

public struct CLLocationCoordinate2D {

    public var latitude: CLLocationDegrees

    public var longitude: CLLocationDegrees

    public init()

    public init(latitude: CLLocationDegrees, longitude: CLLocationDegrees)
}

通过.latitude和.longitude可得到转换后的经纬度。

github下载地址:https://github.com/Zws-China/swift-Coordinate

如果使用过程中有问题,请issue我 (。。)
如果觉得对你还有些用,顺手点一下star吧 (。。) 你的支持是我继续的动力。

About

swift经纬度转换,坐标系转换💯 WGS-84(国际标准)、GCJ-02(火星坐标) 、百度坐标相互转换