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

Материал из Wiki МИАЦ ВО
Версия от 14:50, 21 апреля 2016; Misha (обсуждение | вклад) (Новая страница: «Функция по расчету расстояния между двумя точками по их координатам <pre> $lat1='59.368158'; $lng1='40.2…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

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

$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);

    // Calculate delta longitude and latitude.
    $delta_lat=($lat2 - $lat1);
    $delta_lng=($lng2 - $lng1);

    return round( 6378137 * acos( cos( $lat1 ) * cos( $lat2 ) * cos( $lng1 - $lng2 ) + sin( $lat1 ) * sin( $lat2 ) ) );
}