• php计算两个经纬度地点之间的距离(转)


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

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

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

    <?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弄”到“上海市静安寺”的距离:

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

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

    则:

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

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

  • 相关阅读:
    nginx 配置文件简介
    nginx 二进制安装
    nginx 简介  http://nginx.org
    全栈https
    运维工程师如果将web服务http专变为https
    12个JQuery小贴士
    AccessHelper 需修改
    MysqlHelper 需要重写
    Func<T,TResult>泛型委托
    DataConvertJson
  • 原文地址:https://www.cnblogs.com/sandea/p/4673299.html
Copyright © 2020-2023  润新知