本文实例讲述了golang与PHP实现计算两个经纬度之间距离的方法。分享给大家供大家参考,具体如下:
golang版本:
代码如下:
PHP版本:
PHP;">
PHP
// 返回值的单位为米
function pc_sphere_distance($lat1,$lon1,$lat2,$lon2,$radius = 6371000) {
$rad = doubleval(M_PI/180.0);
$lat1 = doubleval($lat1) * $rad;
$lon1 = doubleval($lon1) * $rad;
$lat2 = doubleval($lat2) * $rad;
$lon2 = doubleval($lon2) * $rad;
$theta = $lon2 - $lon1;
$dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta));
return $dist * $radius * 1000;
}
$lat1 = 29.490295;
$lon1 = 106.486654;
$lat2 = 29.615467;
$lon2 = 106.581515;
echo pc_sphere_distance($lat1,$lon2);
希望本文所述对大家Go语言程序设计有所帮助。