• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php计算两个经纬度地点之间的距离_php

php 搞代码 3年前 (2018-06-21) 166次浏览 已收录 0个评论

php计算两个指定的经纬度地点之间的距离,这个在做计算给定某个地点的经纬度,计算其附近的商业区,以及给定地点与附近各商业区之间的距离的时候,还是用的到的。下面是具体的函数代码以及用法示例。

关于如何获取某个地址的经纬度,可参照本站文章:

谷歌地图第三版根据地理位置获取经纬度的方法

 <?php /** *求两个已知经纬度之间的距离,单位为米 [email protected] lng1,lng2 经度 [email protected] lat1,lat2 纬度 [email protected] float 距离,单位米 [email protected] www.Alixixi.com **/ function getdistance($lng1,$lat1,$lng2,$lat2){  //将角度转为狐度  $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*1000;  return $s; }

这里计算一下“上海市延安西路2055弄”到“上海市静安寺”的距离:

上海市延安西路2055弄 经纬度:31.2014966,121.40233369999998

上海市静安寺 经纬度:31.22323799999999,121.44552099999998

则:

 echo getdistance(31.2014966,121.40233369999998,31.22323799999999,121.44552099999998);

结果为:4970.4248747365 ,约4970米,大约10里路,据我以前经常往返于这两点一线的经验,应该还差不多吧。

欢迎大家阅读《php计算两个经纬度地点之间的距离_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址