php根据经纬度计算两点距离,thinkphp5 通过经纬度计算两点的距离

通过mysql查询两点之间的距离,thinkphp5查询 代码如下

$c_id = input('catid',0); //工作类别的id

$lat = input('la'); //经度

$lng = input('lo'); //纬度

$key=input('keywords');

$page = input('page',1);

if($c_id){

$map['category'] = $c_id;

}

$pageSize =7;

$EARTH=6378.137; //固定参数 地球半径

$PI=3.1415926535898; //固定参数 圆周率

$list=db('work')->alias('wk')

->join(config('database.prefix').'company cp','wk.cmp_id= cp.company_id','left')

->field("wk.id,wk.work_name,wk.age,wk.teach,wk.gwbqid,wk.start_money,wk.work_description,wk.xz_id,wk.category,cp.company_id,cp.company_name,cp.la,cp.lo,(2 * $EARTH* ASIN(SQRT(POW(SIN($PI*(".$lat."-cp.la)/360),2)+COS($PI*".$lat."/180)* COS(cp.la * $PI/180)*P

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值