前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Golang计算两个经度和纬度之间的距离

Golang计算两个经度和纬度之间的距离

原创
作者头像
大师级码师
修改2021-11-02 10:57:53
修改2021-11-02 10:57:53
2.6K00
代码可运行
举报
文章被收录于专栏:大师级码师大师级码师
运行总次数:0
代码可运行

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

代码语言:javascript
代码运行次数:0
运行
复制
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
 
}
 </pre> 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档