Cómo obtener la distancia exacta entre dos geolocalizaciones en la consulta mySQL

Si tiene sus geolocalizaciones en su base de datos, me gustaría sugerirle que use la API de matriz de distancia de Google Maps. Es lo mejor, aunque tiene algunas limitaciones de uso.

Pero si quieres usar la consulta SQL, entonces

$ qry = “SELECT *, (((acos (sin ((“. $ latitude. “* pi () / 180)) * sin ((` Latitude` * pi () / 180)) + cos ((“. $ latitud. “* pi () / 180)) * cos ((` Latitud` * pi () / 180)) * cos (((“. $ longitud.” – `Longitud`) * pi () / 180) ))) * 180 / pi ()) * 60 * 1.1515) como distancia
DE `MyTable`
WHERE distance> = “. $ Distance.”

Si quieres usar PHP, entonces

distancia de función ($ lat1, $ lon1, $ lat2, $ lon2, $ unit) {

$ theta = $ lon1 – $ lon2;
$ dist = sin (deg2rad ($ lat1)) * sin (deg2rad ($ lat2)) + cos (deg2rad ($ lat1)) * cos (deg2rad ($ lat2)) * cos (deg2rad ($ theta));
$ dist = acos ($ dist);
$ dist = rad2deg ($ dist);
$ millas = $ dist * 60 * 1.1515;
$ unidad = strtoupper ($ unidad);

if ($ unit == “K”) {
devolución ($ millas * 1.609344);
} else if ($ unit == “N”) {
retorno ($ millas * 0.8684);
} más {
devolver $ millas;
}
}

Pero los últimos dos no son precisos en comparación con la Matriz de distancia. Y también, si usa Distance Matrix, tendrá múltiples opciones como esta: Guía del desarrollador | API de matriz de distancia de Google Maps
El | Desarrolladores de Google

Gracias por A2A. 🙂

La pregunta me parece un poco ambigua. Sin embargo, creo que este enlace StackoverFlow te ayudará.