Go语言计算两个经度和纬度之间距离的方法
本文实例讲述了Go语言计算两个经度和纬度之间距离的方法。分享给大家供大家参考。具体实现方法如下:
packagemain
import(
"fmt"
"math"
)
funcmain(){
lat1:=29.490295
lng1:=106.486654
lat2:=29.615467
lng2:=106.581515
fmt.Println(EarthDistance(lat1,lng1,lat2,lng2))
}
funcEarthDistance(lat1,lng1,lat2,lng2float64)float64{
radius:=6371000//6378137
rad:=math.Pi/180.0
lat1=lat1*rad
lng1=lng1*rad
lat2=lat2*rad
lng2=lng2*rad
theta:=lng2-lng1
dist:=math.Acos(math.Sin(lat1)*math.Sin(lat2)+math.Cos(lat1)*math.Cos(lat2)*math.Cos(theta))
returndist*radius
}
希望本文所述对大家的Go语言程序设计有所帮助。