Đo khoảng cách giữa 2 địa điểm – PHP Code

26/02/2014

Có rất nhiều ứng dụng giúp chúng ta đo khoảng cách giữa 2 địa điểm dựa trên giá trị của các tọa độ. Hôm nay mình sẽ không giới thiệu cho các bạn những dịch vụ đó, mà là chia sẻ cho các bạn code bằng PHP. Và qua đoạn code này, các bạn có thể tự tay tạo ứng dụng đó cho chính website hay blog của mình.

do-khoang-cach-giua-2-dia-diem-php-code

Các bạn chỉ việc copy đoạn code sau :

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');
}

Và để sử dụng , chúng ta chỉ cần điền vào các tọa độ của từng địa điểm tương ứng là okie :

$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 />';
}

Và đoạn code trên sẽ trả về các giá trị tương ứng như sau :

miles: 2.6025
feet: 13,741.4350
yards: 4,580.4783
kilometers: 4.1884
meters: 4,188.3894

Để có thể tìm được tọa độ từ 2 địa điểm, các bạn có thể tận dụng Google Geotargetting API.

Chúc các bạn thành công !

Tags:

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !