附近小店
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

distance.go 400 B

2ヶ月前
12345678910111213141516
  1. package utils
  2. import "math"
  3. //返回单位为:千米
  4. func GetDistance(lat1, lat2, lng1, lng2 float64) float64 {
  5. radius := 6371000.0 //6378137.0
  6. rad := math.Pi / 180.0
  7. lat1 = lat1 * rad
  8. lng1 = lng1 * rad
  9. lat2 = lat2 * rad
  10. lng2 = lng2 * rad
  11. theta := lng2 - lng1
  12. dist := math.Acos(math.Sin(lat1)*math.Sin(lat2) + math.Cos(lat1)*math.Cos(lat2)*math.Cos(theta))
  13. return dist * radius / 1000
  14. }