您好,欢迎访问一九零五行业门户网

计算两个GPS经纬度坐标之间的距离 PHP

不多说了,自己代码就行,你可以直接拿来用。
/** * 计算两个坐标之间的距离(米) * @param float $fp1lat 起点(纬度) * @param float $fp1lon 起点(经度) * @param float $fp2lat 终点(纬度) * @param float $fp2lon 终点(经度) * @return int */function distancebetween($fp1lat, $fp1lon, $fp2lat, $fp2lon){ $fearth_radius = 6378137; //角度换算成弧度 $fradlon1 = deg2rad($fp1lon); $fradlon2 = deg2rad($fp2lon); $fradlat1 = deg2rad($fp1lat); $fradlat2 = deg2rad($fp2lat); //计算经纬度的差值 $fd1 = abs($fradlat1 - $fradlat2); $fd2 = abs($fradlon1 - $fradlon2); //距离计算 $fp = pow(sin($fd1/2), 2) + cos($fradlat1) * cos($fradlat2) * pow(sin($fd2/2), 2); return intval($fearth_radius * 2 * asin(sqrt($fp)) + 0.5);}/** * 百度坐标系转换成标准gps坐系 * @param float $lnglat 坐标(如:106.426, 29.553404) * @return string 转换后的标准gps值: */function bd09lltowgs84($flng, $flat){ // 经度,纬度 $lnglat = explode(',', $lnglat); list($x,$y) = $lnglat; $baidu_server = http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x={$x}&y={$y}; $result = @file_get_contents($baidu_server); $json = json_decode($result); if($json->error == 0){ $bx = base64_decode($json->x); $by = base64_decode($json->y); $gps_x = 2 * $x - $bx; $gps_y = 2 * $y - $by; return $gps_x.','.$gps_y;//经度,纬度 }else return $lnglat;}
以上就介绍了计算两个gps经纬度坐标之间的距离 php,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息