1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
package main
import ( "fmt" "math" )
func main() { lat1:=39.939889 lng1:=116.423528 lat2:=39.929488 lng2:=116.362875
fmt.Println(GetDistance(lat1, lat2, lng1, lng2)) }
func GetDistance(lat1, lat2, lng1, lng2 float64) float64 { radius := 6371000.0 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)) return dist * radius / 1000 }
|
如有疑问或需要技术讨论,请留言或发邮件到 service@itfanr.cc
微信鼓励
支付宝鼓励