当前位置 博文首页 > Go语言计算两个经度和纬度之间距离的方法

    Go语言计算两个经度和纬度之间距离的方法

    作者:不吃皮蛋 时间:2021-02-13 09:07

    本文实例讲述了Go语言计算两个经度和纬度之间距离的方法。分享给大家供大家参考。具体实现方法如下:

    复制代码 代码如下:
    package main
          
    import (
        "fmt"
        "math"
    )
          
    func main() {
        lat1 := 29.490295
        lng1 := 106.486654
          
        lat2 := 29.615467
        lng2 := 106.581515
        fmt.Println(EarthDistance(lat1, lng1, lat2, lng2))
    }
          
    func EarthDistance(lat1, lng1, lat2, lng2 float64) float64 {
        radius := 6371000 // 6378137
        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
    }

    希望本文所述对大家的Go语言程序设计有所帮助。

    js
    下一篇:没有了