html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

php计算两个经纬度地点之间的距离-php程序员的笔记_PHP教程_编程技术

[ ] 已经帮助:人解决问题

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

关于如何获取某个地址的经纬度,可参照本站文章:Jh6HTML5中文学习网 - HTML5先行者学习网

谷歌地图第三版根据地理位置获取经纬度的方法Jh6HTML5中文学习网 - HTML5先行者学习网

<?php/***求两个已知经纬度之间的距离,单位为米*@param lng1,lng2 经度*@param lat1,lat2 纬度*@return float 距离,单位米*@author 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弄”到“上海市静安寺”的距离:Jh6HTML5中文学习网 - HTML5先行者学习网

上海市延安西路2055弄 经纬度:31.2014966,121.40233369999998Jh6HTML5中文学习网 - HTML5先行者学习网

上海市静安寺 经纬度:31.22323799999999,121.44552099999998Jh6HTML5中文学习网 - HTML5先行者学习网

则:Jh6HTML5中文学习网 - HTML5先行者学习网

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

结果为:4970.4248747365 ,约4970米,大约10里路,据我以前经常往返于这两点一线的经验,应该还差不多吧。Jh6HTML5中文学习网 - HTML5先行者学习网

Jh6HTML5中文学习网 - HTML5先行者学习网
Jh6HTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助