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

Swift 根据经纬度计算距离

2018-02-26 09:17 1226 查看
//根据角度计算弧度
func radian(d:Double) -> Double {
return d * Double.pi/180.0
}
//根据弧度计算角度
func angle(r:Double) -> Double {
return r * 180/Double.pi
}
//根据两点经纬度计算两点距离
func getDistance(lat1:Double,lng1:Double,lat2:Double,lng2:Double) -> Double {
let EARTH_RADIUS:Double = 6378137.0

let radLat1:Double = self.radian(d: lat1)
let radLat2:Double = self.radian(d: lat2)

let radLng1:Double = self.radian(d: lng1)
let radLng2:Double = self.radian(d: lng2)

let a:Double = radLat1 - radLat2
let b:Double = radLng1 - radLng2

var s:Double = 2 * asin(sqrt(pow(sin(a/2), 2) + cos(radLat1) * cos(radLat2) * pow(sin(b/2), 2)))
s = s * EARTH_RADIUS
return s
}
OC也是一样的方法,转换成对应的OC方法即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS 经纬度