计算经纬度的距离_经纬度测距

计算经纬度的距离_经纬度测距PHP根据经纬度坐标计算距离在有些应用中需要用到计算距离的功能,例如附近的商家、离我最近等功能。W为纬度对应的弧度,J为经度对应的弧度,如上图所示下面代码lat是纬度lng是经度看类代码/***根据经纬度算距离,返回结果单位是公里,先纬度,后经度*@param$lat1*@param$lng1*@param$lat2*@param$lng2*@returnfloat|…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

PHP根据经纬度坐标计算距离

在有些应用中需要用到计算距离的功能,例如附近的商家、离我最近等功能。

28292fa2ba01e2bd0a24a693193c7465.pngW为纬度对应的弧度,J为经度对应的弧度,如上图所示

下面代码  lat是纬度  lng是经度

看类代码/**

* 根据经纬度算距离,返回结果单位是公里,先纬度,后经度

* @param $lat1

* @param $lng1

* @param $lat2

* @param $lng2

* @return float|int

*/

public function GetDistance($lat1, $lng1, $lat2, $lng2)

{

$EARTH_RADIUS = 6378.137;

$radLat1 = $this->rad($lat1);

$radLat2 = $this->rad($lat2);

$a = $radLat1 – $radLat2;

$b = $this->rad($lng1) – $this->rad($lng2);

$s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2)));

$s = $s * $EARTH_RADIUS;

$s = round($s * 10000) / 10000;

return $s;

}

private function rad($d)

{

return $d * M_PI / 180.0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193362.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号