golang根据经纬度计算两点距离

 

package util

import "math"

// R 地球半径,单位米
const R = 6367000

// Distance
// lonA, latA分别为A点的纬度和经度
// lonB, latB分别为B点的纬度和经度
// 返回的距离单位为米
func Distance(lngA, latA, lngB, latB float64) float64 {
	c := math.Sin(latA)*math.Sin(latB)*math.Cos(lngA-lngB) + math.Cos(latA)*math.Cos(latB)
	return R * math.Acos(c) * math.Pi / 180
}

  

posted @ 2022-10-22 10:27  归一山人  阅读(489)  评论(0编辑  收藏  举报