php实现计算百度地图坐标之间距离的方法。具体如下:
下面是网上的代码,使用的时候需要进行些许修改
第一个函数是获得范围,参数为纬度经度半径
第二个函数是计算坐标距离
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?phpdefine('PI',3.1415926535898);define('EARTH_RADIUS',6378.137);//计算范围,可以做搜索用户  //计算纬度  $degree= (24901 * 1609) / 360.0;  $dpmLat= 1 / $degree;  $radiusLat= $dpmLat* $raidus;  $minLat= $lat- $radiusLat; //得到最小纬度  $maxLat= $lat+ $radiusLat; //得到最大纬度  //计算经度  $mpdLng= $degree* cos($lat* (PI / 180));  $dpmLng= 1 / $mpdLng;  $radiusLng= $dpmLng* $raidus;  $minLng= $lon- $radiusLng; //得到最小经度  $maxLng= $lon+ $radiusLng; //得到最大经度  //范围  $range= array(    'minLat'=> $minLat,    'maxLat'=> $maxLat,    'minLon'=> $minLng,    'maxLon'=> $maxLng  );  return$range;}//获取2点之间的距离functionGetDistance($lat1, $lng1, $lat2, $lng2){  $radLat1= $lat1* (PI / 180);  $radLat2= $lat2* (PI / 180);  $a= $radLat1- $radLat2;  $b= ($lng1* (PI / 180)) - ($lng2* (PI / 180));  $s= 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)));  $s= $s* EARTH_RADIUS;  $s= round($s* 10000) / 10000;  return$s;} | 
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    














请登录后发表评论
注册
社交帐号登录