Geolocalización de usuarios a cálculos de direcciones más cercanas

Estoy trabajando en una aplicación en la que tengo algunas carreteras en una variable estática (digamos 7 nombres de carreteras con su dirección y geolocalización). El usuario de mi aplicación tendría un dispositivo habilitado con GPS para que pueda recuperar las coordenadas en el lugar en el que se encuentran.

Tengo la ubicación del usuario en longitud y latitud y también 7 direcciones en longitud y latitud. Quiero seleccionar 1 de esas 7 direcciones que coincidan cada una con la ubicación del usuario actual y no estoy seguro de cómo comparar para seleccionar la más cercana.

Di si el usuario está activado Armor Road, Peterborough y como el camino es bastante largo, el usuario puede estar en cualquier lugar de ese camino dando como resultado diferentes coordenadas. Entonces, ¿cómo puedo hacer coincidir las coordenadas del usuario con lo que me dice que está en Armor Road, aunque no importa en qué parte de Armor Road?

¿Cómo puedo comprobar si el usuario está en Armor Road o en alguna otra carretera objetivo?

preguntado el 27 de agosto de 11 a las 17:08

Si escribe esto (44.3261361, -78.3099839) en Google Maps, verá que se trata de Armor Rd pero no con el nombre escrito. -

1 Respuestas

Probablemente usaría un algoritmo de distancia circular para la distancia entre todas las coordenadas. Cuando sepa cuál es el más cercano, tendrá un problema realmente difícil de resolver. Si el usuario está en la carretera o cerca, si te entendí correctamente.

¡La gente de Yelp! resolvió este problema adquiriendo las coordenadas de la carretera. Siempre debes tener en cuenta el error de precisión que te lleva al punto de asumir. Si tienes dos caminos posibles con la misma precisión, básicamente siempre estás jodido.

Respondido 27 ago 11, 23:08

obtener coordenadas de la carretera es lo primero que pensé también, pero luego no estoy alineado con demasiado trabajo manual :( - Umair A.

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.