Obtener el número de usuarios cuya latitud y longitud se encuentra dentro de un radio de 15 millas del usuario conectado.
Permítanme explicar mi caso:
En primer lugar, el usuario iniciará sesión.
Ahora en la base de datos, estoy guardando la latitud y longitud para ese usuario que ha iniciado sesión.
Ahora quiero obtener el recuento de todos los demás usuarios cuya latitud y longitud estén dentro de 15 millas de ese usuario que ha iniciado sesión.
He intentado con algunas funciones predeterminadas de .net, pero no funcionaron.
davy.ai
Propuesta de solución
Para el caso dado, podemos utilizar la fórmula Haversine para calcular la distancia entre el usuario que ha iniciado sesión y todos los demás usuarios en función de su latitud y longitud. Si la distancia calculada es menor o igual a 15 millas, podemos considerar a ese usuario como dentro de las 15 millas del usuario que ha iniciado sesión.
Aquí hay un código de muestra en C # que se puede utilizar para lograr esto:
Esta solución utiliza LINQ para filtrar a los usuarios dentro de la distancia dada y utiliza el método
CalculateDistance
para calcular la distancia entre dos puntos en la superficie de la Tierra en función de su latitud y longitud utilizando la fórmula Haversine. La salida es un recuento de usuarios dentro de 15 millas del usuario que ha iniciado sesión.¡Espero que esto ayude! Avísame si tienes alguna pregunta.