PHP 计算 2 点经纬度之间的距离代码
以下是对
PHP 计算 2 点经纬度之间的距离代码进行了分析介绍,需要的朋友可以过来参考
下
代码如下
:
function
getDistanceBetweenPointsNew(
$latitude1
,
$longitude1
,
$latitude2
,
$longitude2
) {
$theta
=
$longitude1
-
$longitude2
;
$miles
= (sin(
deg2rad
(
$latitude1
)) * sin(
deg2rad
(
$latitude2
))) + (
cos
(
deg2rad
(
$latitude1
)) *
cos
(
deg2rad
(
$latitude2
)) *
cos
(
deg2rad
(
$theta
)));
$miles
=
acos
(
$miles
);
$miles
= rad2deg(
$miles
);
$miles
=
$miles
* 60 * 1.1515;
$feet
=
$miles
* 5280;
$yards
=
$feet
/ 3;
$kilometers
=
$miles
* 1.609344;
$meters
=
$kilometers
* 1000;
return
compact('miles','feet','yards','kilometers','meters');
}
$point1
=
array
('lat' => 40.770623, 'long' => -73.964367);
$point2
=
array
('lat' => 40.758224, 'long' => -73.917404);
$distance
= getDistanceBetweenPointsNew(
$point1
['lat'],
$point1
['long'],
$point2
['lat'],
$point2
['long']);
foreach
(
$distance
as
$unit
=>
$value
) {
echo
$unit
.': '.number_format(
$value
,4).'<br />';
}
The example returns the following:
miles: 2.6025
feet: 13,741.4350
yards: 4,580.4783
kilometers: 4.1884
meters: 4,188.3894