Cómo calcular la distancia entre dos puntos utilizando latitud y longitud, (PHP).
Haversine Formula http://en.wikipedia.org/wiki/Haversine_formula
Funció en PHP para calcular la distancia entre 2 puntos:
function distance($lat1, $lon1, $lat2, $lon2) { $pi80 = M_PI / 180; $lat1 *= $pi80; $lon1 *= $pi80; $lat2 *= $pi80; $lon2 *= $pi80; $r = 6372.797; // mean radius of Earth in km $dlat = $lat2 - $lat1; $dlon = $lon2 - $lon1; $a = sin($dlat / 2) * sin($dlat / 2) + cos($lat1) * cos($lat2) * sin($dlon / 2) * sin($dlon / 2); $c = 2 * atan2(sqrt($a), sqrt(1 - $a)); $km = $r * $c; //echo ' '.$km; return $km; }
También se puede calcular con un query Mysql para obtener los puntos más cercanos a un punto.
Este SlideShare puede ayudarte a optimzizar tus querys, ya que este tipo de querys pueden ser lentos y consumir mucho tiempo con bases de datos grandes.
Geo Distance Search with MySQL by Oleksiy Kovyrin
Un poco de prueba/error antes de programar nada http://www.movable-type.co.uk/scripts/latlong.html

Beto Ayesa
Ingeniero de Software y programador web "Full stack" que ha dejado una startup dónde los miércoles eran día de yoga, para construir un servicio de soporte técnico estandarizado low cost, más profundo que el que el servicio que ofrecen las compañías de hosting, para startups, tiendas online, empresas, profesionales y autónomos. Linkedin
- Responsable: Ayesa Digital SLU
- Finalidad: Responderte al correo que vas a enviar.
- Legitimación: Consentimiento.
- Destinatarios: tus datos de contacto se almacenarán en nuestra base de datos.
- Derechos: Cambios, rectificaciones, borrados, escríbenos a administracion@phpninja.es
Puedes consultar la información adicional y detallada sobre Protección de Datos en política de privacidad.
![]()
Muy profesionales. Resuelven rápido e informan en todo momento del estado del trabajo. 100% recomendado.
![]()
Conchetta Alonso
CEO at Workcation
4.7/5 Leer opiniones sobre Php Ninja en Google reviews