PHP查询附近的人及其距离的实现方法
网络编程 2021-07-05 09:10www.168986.cn编程入门
这篇文章主要介绍了PHP查询附近的人及其距离的实现方法,涉及php数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了PHP查询附近的人及其距离的实现方法。分享给大家供大家参考,具体如下
<?php //获取该点周围的4个点 $distance = 1;//范围(单位千米) $lat = 113.873643; $lng = 22.573969; define('EARTH_RADIUS', 6371);//地球半径,平均半径为6371km $dlng = 2 asin(sin($distance / (2 EARTH_RADIUS)) / cos(deg2rad($lat))); $dlng = rad2deg($dlng); $dlat = $distance/EARTH_RADIUS; $dlat = rad2deg($dlat); $squares = array('left-'=>array('lat'=>$lat + $dlat,'lng'=>$lng-$dlng), 'right-'=>array('lat'=>$lat + $dlat, 'lng'=>$lng + $dlng), 'left-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng - $dlng), 'right-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng + $dlng) ); print_r($squares['left-']['lat']); //从数库查询匹配的记录 $info_sql = "select from `A` where lat<>0 and lat>{$squares['right-bottom']['lat']} and lat<{$squares['left-']['lat']} and lng>{$squares['left-']['lng']} and lng<{$squares['right-bottom']['lng']} "; //获取两点之间的距离 function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) { $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) cos(deg2rad($latitude2)) cos(deg2rad($theta))); $miles = acos($miles); $miles = rad2deg($miles); $miles = $miles 60 1.1515; $feet = $miles 5280; $yards = $feet / 3; $kilometers = $miles 1.609344; $meters = $kilometers 1000; return pact('miles','feet','yards','kilometers','meters'); } $point1 = array('lat' => 40.770623, 'long' => -73.964367); $point2 = array('lat' => 40.758224, 'long' => -73.917404); $distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']); foreach ($distance as $unit => $value) { echo $unit.': '.number_format($value,4).'<br />'; } ?>
更多关于PHP相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
上一篇:PHP数据库操作Helper类完整实例
下一篇:Smarty分页实现方法完整实例
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程