根据经纬度计算距离 Swift

   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
    }

返回数据单位是米(m)

猜你喜欢

转载自blog.csdn.net/weixin_42012181/article/details/88531584
今日推荐