工具包
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

17 linhas
400 B

  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. }