phpgeo es una libreria simple para el cálculo de distancias entre las coordenadas geográficas con alta precisión. Por ejemplo:
use Location\Coordinate; use Location\Distance\Vincenty; $coordinate1 = new Coordinate(19.820664, -155.468066); // Mauna Kea Summit $coordinate2 = new Coordinate(20.709722, -156.253333); // Haleakala Summit $calculator = new Vincenty(); echo $calculator->getDistance($coordinate1, $coordinate2); // returns 128130.850 (meters; ≈128 kilometers)
Esto funciona muy bien en aplicaciones que hacen uso de datos de localización. Para obtener las coordenadas, puede utilizar la API de HTML5 Geolocalización, API de Yahoo, Google, etc.