php中getdistance函数_PHP根据经纬度获取周围5公里内的信息

这两天项目中也是需要解决一个根据经纬度和公里数找出附近楼盘的信息.

有点类似附近的人. 🙄

处理上也不是很棘手,针对需求.大致解决办法为.获取现在楼盘坐标.然后获取目标楼盘经纬度,查询距离.如果距离小于前端传来的距离则为在范围.反之不在.

后台使用的为FastAdmin.这个框架后台也是提供了可以获取地理位置的插件.直接开启就可以使用了.

这样就有了确切的地理位置.

然后调用封装好的函数.这个函数计算两个位置的距离.返回的是公里数.函数也贴在下面

需要传入的参数为现在所处经度,现在所处纬度,目标经度,目标纬度.

function getDistance($lat1, $lng1, $lat2, $lng2){

//将角度转为狐度

$radLat1=deg2rad($lat1);//deg2rad()函数将角度转换为弧度

$radLat2=deg2rad($lat2);

$radLng1=deg2rad($lng1);

$radLng2=deg2rad($lng2);

$a=$radLat1-$radLat2;

$b=$radLng1-$radLng2;

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

return $s;

}

然后判断是否在前端所传来的范围之内.然后将处理好的数据扔给前台就可以了. 😮

0

0

vote

Article Rating

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值