İki koordinat (latitude / longitude) arasındaki mesafeyi hesaplamak

Standard

Bir çok uygulamada işimize yarayabilecek bi işlemdir bu.. 2 cafe arasındaki mesafeyi bulmak veya kişinin anlık konumu ile xxx mekanın arasındaki mesafe gibi.. Peki bunu nasıl yapıyoruz hiç düşündünüz mü?

Lafı uzatmadan bununla ilgili çok basit fonksiyon paylaşıyorum sizlerle. Bu fonksiyon ile koordinatlar arasındaki mesafeyi farklı formatlarda alabilirsiniz;

<?php 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; $seamiles = $miles * 0.868976242; $feet = $miles * 5280; $yards = $feet / 3; $kilometers = $miles * 1.609344; $meters = $kilometers * 1000; return compact('miles','feet','yards','kilometers','meters','seamiles'); } $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).' '; } ?>

Devamını Oku..