附近小店
Você não pode selecionar mais de 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.

distance.go 400 B

1 mês atrás
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. }