php 根据两地经纬度计算距离,单位可调节。
来源:互联网 发布:人工智能顶级杂志 编辑:程序博客网 时间:2024/05/18 03:57
public function distance($lat1, $lon1, $lat2, $lon2, $unit) { $theta = $lon1 - $lon2; $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; $unit = strtoupper($unit); if ($unit == "K") { return ($miles * 1.609344); } else if ($unit == "N") { return ($miles * 0.8684); } else { return $miles; }} public function customerlist(){ $serviceid=$_POST['service_id']; $lat=$_POST['lat']; $lng=$_POST['lng']; // $lat=39.73838; // 纬度 // $lng=116.339128; // 经度 if(empty($lat)||empty($lng)){ Error('定位失败',-2001); } // 三元桥 116.464052,39.967359 // 国贸 116.467524,39.914319 // $serviceid=367; $where['o.serviceid']=$serviceid; $where['u.type']='1'; // 找到这服务人员下所有的订单 $data =D('Order')->field('o.userid as clientid,sc.scorelevel as starts,u.photo as clientphoto,u.realname as clientname,u.lat,u.lng')->table('t_order as o')->join('t_order_evaluation_s_c as sc on sc.memberid=o.serviceid')->join('t_user as u on o.userid =u.id')->where($where)->group('u.id')->select(); // echo $m->getlastsql(); foreach ($data as $key => &$value) { if($value['lng']&&$value['lat']){ $data[$key]['distance']=(string)round($this->distance($lat,$lng,$value['lat'],$value['lng'],"K"),2)."Km"; unset($data[$key]['lng']); unset($data[$key]['lat']); }else{ unset($data[$key]); } } $count=COUNT($data); Success(array('list'=>$data,'count'=>$count),1001); }
如何根据地点知道经纬度。答案是百度拾取器。
0 0
- php 根据两地经纬度计算距离,单位可调节。
- PHP根据经纬度计算两地之间的距离
- PHP根据经纬度计算两地之间的距离
- 根据经纬度计算两地的距离
- 根据经纬度计算两地距离java实现
- 根据两个位置的经纬度,来计算两地的距离(单位为KM)
- 经纬度计算两地距离
- 在 Oracle 中根据经纬度计算两地之间的距离
- 在 Oracle 中根据经纬度计算两地之间的距离
- 在 Oracle 中根据经纬度计算两地之间的距离
- php实现根据经纬度计算出两地之间的距离
- 用经纬度计算两地之间的距离
- Android 通过经纬度计算两地距离
- PHP根据两个经纬度坐标计算距离
- php 根据两点的经纬度计算距离
- php 根据经纬度计算两点之间距离
- php根据经纬度计算距离和方向
- C#根据经纬度计算两点距离(单位是千米)
- stm32---RS485初始化
- 1 xshell的使用
- 两种虚拟机的网络模式的配置(桥接)
- textField输入内容分限制为手机号
- (六)场景法
- php 根据两地经纬度计算距离,单位可调节。
- tomcat实现容器内认证
- Android开发 必备技术网站 推荐
- leetcode 004 —— Median of Two Sorted Arrays
- phonegap运行www包遇到的问题
- shell中的$? $0 $@ $* $#
- 解决ie浏览器注册事件不兼容问题
- 【深度学习系列4】深度学习及并行化实现概述
- JavaScript动态设置滚动条高度