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
- ¿Los ángulos de un círculo unitario son fundamentalmente diferentes a los números expresados en el esquema 360?
- ¿Es correcto llamar a una esfera una forma de lados infinitos?
- Cómo demostrar que estos dos segmentos de línea son paralelos utilizando teoremas de congruencia de triángulos
- ¿Puede un objeto de 10 unidades de longitud dividirse prácticamente en 3 partes exactamente?
- ¿Cómo explicaría la idea de las coordenadas polares, especialmente con estos problemas relacionados con los cardioides?
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. 🙂