代码拉取完成,页面将自动刷新
package xnum
import "math"
// 计算经纬度之间的距离【返回单位:m】
// 计算公式:C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)
//
// lat1 坐标点1的纬度
// lng1 坐标点1的经度
// lat1 坐标点2的纬度
// lng2 坐标点2的经度
func EarthDistance(lat1, lng1, lat2, lng2 float64) float64 {
rad := math.Pi / 180
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))
return dist * EARTH_RADIUS * 1000
}
// 计算两点的经纬度
//
// a1 坐标点a1的经纬度
// a2 坐标点a2的经纬度
func EarthDistanceGps(a1, a2 *GPS) float64 {
return EarthDistance(a1.Latitude, a1.Longitude, a2.Latitude, a2.Longitude)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。