Node JS – Calculo de distancia entre dos puntos

nodejs

Estuve armando una aplicación parecida a Tinder. Y esto me llevó a plantearme una problemática: si yo guardo un usuario que contiene las coordenadas en latitud y longitud, como puedo comprobar a que distancia está de otro? Después de investigar un poco encontré una función armada para hacer esto, y si bien es javascript, voy a mostrarles como incluirla en Node JS.

Inicialmente, ésta es la función:

Esta función corresponde a un cálculo matemático que nos va a permitir determinar la distancia en kilómetros. Esto lo vamos a meter dentro de un archivo llamado global.js y ubicado dentro de la carpeta routes para tener un acceso más directo. Como la aplicación que estoy armando es una API, apunta a un endpoint que estoy armando con un archivo users.js ubicado en el mismo directorio.

Entonces lo primero que tenemos que hacer es usar el comando export para decirle a Node JS que se trata de una función que puede usar, de esta manera:

Luego, dentro de nuestro routes/user.js tenemos que incluir a global.js:

Y después tenemos que hacer un get:

Este get recorre una lista de usuarios en una colección de MongoDB y por cada usuario toma la latitud y longitud y llama al método que nos devuelve la distancia. Luego se compara si es menor o igual a la distancia que le pusimos, y en caso de serlo va llenando un array que luego nos devuelve como respuesta del json.

 

Be the first to comment on "Node JS – Calculo de distancia entre dos puntos"

Leave a comment

Your email address will not be published.


*