Spanish Consulta sobre solucion para Delivery x GPS

ocalle

Active Member
Licensed User
Estimados, Es siempre un placer hablar con uds en mi idioma, resulta que tengo un cliente que tiene un delivery de motos con entregas de paquetes.
Me pidió hacer un sistema que permita por un lado al cliente solicitar un envío, por el otro que el cadete pueda leer eso y tomar el pedido, y que desde las oficinas se puedan asignar paquetes a los cadetes.

Lo que mas me complica es como calcular desde donde el cliente esta cual es el cadete mas cercano disponible.

Si alguien tiene algo hecho seria mejor, podriamos conversar. Sino seria muy util como siempre una orientación.

Desde ya muchisimas gracias.
 

Descartex

Well-Known Member
Licensed User
Buenas!!!
Yo he realizado algo parecido, pero en vez de motos, con coches.
Para saber desde la "central" el repartidor mas cercano, tomas la ubicacion del cliente y, en la aplicacion de repartidores, haces un servicio que, por ejemplo, cada minuto, guarde la posicion gps del repartidor en una base de datos. Tomas los datos de uno y otro y usas hallas la distancia entre ambos... de ahi te saldrá cual esta mas cercano.
Si necesitas más ayuda, puedo rebuscar en el dropbox y el google drive a ver como hice el proyecto.
Un saludo.
 

bgsoft

Well-Known Member
Licensed User
Hola Ocalle:

Puedes hacer algo así, te dará la distancia en linea recta

B4X:
Sub ComprobarDistanciaEntreDosPuntos(Latitude1 As Double,Longitude1 As Double ) As double
' CALCULAR DISTANCIA ENTRE DOS PUNTOS libreria gps
Dim  Distancia As Double
Dim Location1, Location2 As Location

Location1.Initialize
Location2.Initialize

Location1.Latitude = Latitude1
Location1.Longitude = Longitude1

Location2.Latitude = GPS_Latitud ' la medición actual
Location2.Longitude =  GPS_Longitud ' la medición actual

Distancia = Location1.DistanceTo(Location2) ' ***** la devuelve en metros *****

return distancia

End sub

GPS_Latitud, GPS_Longitud son variables globales del evento del GPS, si no quieres tener esas variabes globales, puedes añadir como parámetro a pasar Latitude2, Longitude2. O tambien pasarle uno o los dos Location

Saludos
 
Last edited:
Top