Расстояние между двумя точками на карте по их координатам

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску

Функция по расчету расстояния между двумя точками по их координатам

$lat1='59.368158';
$lng1='40.274941';
$lat2='59.165331';
$lng2='39.583489';
echo "distance = ".distance($lat1,$lng1,$lat2,$lng2)."м\n";
function distance($lat1,$lng1,$lat2,$lng2)
{
     // Convert degrees to radians.
    $lat1=deg2rad($lat1);
    $lng1=deg2rad($lng1);
    $lat2=deg2rad($lat2);
    $lng2=deg2rad($lng2);
    return round( 6378137 * acos( cos( $lat1 ) * cos( $lat2 ) * cos( $lng1 - $lng2 ) + sin( $lat1 ) * sin( $lat2 ) ) );
}