Spanish Geolocalizacion en B4A

Hola a Todos, soy un viejo programador de VB6 y estoy haciendo mis primeros pasos en B4A. Trabajo en la parte de logistica de una empresa de materiales para la construccion y se me occurrio desarrollar una app para que los clientes puedan ver por donde va su pedido. Todos los camiones cuentan con telefono celular, la idea es que la app tome la posicion del celular y valla informando el recorrido mediante googlemap, una especie de "compartir ubicacion en tiempo real de wsp". Me gustaria si me pueden dar una mano con eso, que info puedo consultar o bibliografia para orientarme como hacerlo.
Espero haber sido claro, desde ya muchas gracias por cualquier dato que puedan darme.
Saludos atte
 

drgottjr

Well-Known Member
Licensed User
Longtime User
vas a necesitar un servidor para manejar los datos mandados y
descargados por los usuarios. esto no tendra nada que ver con b4a
(aunque podrias realizarlo en b4j). de todas formas, se tratara de un
servidor https qualquiera (lo tendras que desarollar tu mismo en el idioma
de tu preferencia). un proyecto entero en si mismo.

en cuanto a la app b4a, me imagino que habra 2 (una para cargar la
posicion del camion al servidor) y otra para descargar del servidor la
posicion de un pedido determinado. claro, es posible que haya una
sola aplicacion que se ocupe de estas 2 funciones (mediante
alguna configuracion, pues en realidad son distintas).

hay muchisimos ejemplos referentes a localizacion aqui en el foro.
la mayoria en ingles, pero los hay muchos tambien en espanol.

los camiones cargaran su posicion al servidor mediante las "librerias"
okhttputils2 y fusionlocator. no precisan de un mapa. ademas de las
coordinadoras, cargaran alguna identificion. esto, lo harian cada
10 minutos, digamos.

para seguir su pedido, el cliente mandara el numero de su pedido al
servidor mediante okhttputils2. el servidor consultara una base de
datos para saber en que camion se encuentra ese pedido. recoge la
posicion actual (o sea, mas reciente) de ese camion y manda la
posicion al cliente (esperando el resultado de su solicitud okhttputils2 al
servidor). una vez recibidas las coordinadoras del camion, pondra un
marcadorcito o bandera en un mapa (realizado con la "libreria" google
maps
). tambien hay otras "librerias" de mapas

si pretendes seguir una flotilla de camiones y con muchos clientes en
"tiempo real", esto va a precisar mucha banda. (y googlemaps tiene
limites de uso con su licencia gratuita.) pero las "librerias" que acabo de
mencionar son faciles de implementar y sirven muy bien. captar y cargar
coordinadoras es trivial. descargar algun dato y actualizar un mapa facil.
lo espinoso sera el servidor para mantener el orden entre camiones, pedidos,
clientes, etc. a mi parecer, vas a pasar mas tiempo desarollando el servidor
que las apps b4a.
 
Last edited:
Upvote 0

drgottjr

Well-Known Member
Licensed User
Longtime User
una advertencia: con versiones recientes de android no es posible
garantizar que una app siga activa todo el dia.

me refiero en principio a lo que se supone que va a pasar con los camiones:
el conductor alumbra la app para ir cargando sus coordinadas al servidor.
o sea, abre la app a las 0800h y la apaga a las 1800h, sin volver a pensar en
ella. la app lleva a cabo lo suyo, el conductor maneja el camion y entrega los
paquetes. todo perfecto, no? no. si android apaga la app, que va a pasar
entonces? el conductor no sabra nada...

incluso con los llamados "servicios en primer plano", android tiene
sus reglas de funcionamiento y seguridad. eso si: hay manera de poner en
marcha algun servicio (obrando en segundo plano), cada 10 minutos, pero
vas a tener que hacer muchas pruebas para ver si funciona durante un dia
entero sin que android la matara.

ahora, para asegurar la buena marcha de la empresa, el conductor estaria
obligado a cargar las coordinadas (y la hora) al servidor cuando entrega un
paquete. asi, por lo menos, el cliente sabria que ha llegado el pedido.

intentando seguir el rumbo o la trayectoria de un grupo de camiones es
probablemente una locura para una empresa pequena. el cargar algunos
datos al servidor al ser entregado un paquete es, en cambio, muy
realizable.
 
Upvote 0
key-feature-map-min.png
Actualmente estoy utilizando esta aplicacion para ver la ubicacion en tiempo real de los camiones (life360) la verdad funciona muy bien, son solo 10 camiones y actualiza cada 30 seg.. se puede ver el camion en movimiento y es muy presisa. Mi intension es hacer algo similar pero para que el cliente vea solo el camion de su reparto
 
Upvote 0

edgar_ortiz

Active Member
Licensed User
Longtime User
View attachment 129069Actualmente estoy utilizando esta aplicacion para ver la ubicacion en tiempo real de los camiones (life360) la verdad funciona muy bien, son solo 10 camiones y actualiza cada 30 seg.. se puede ver el camion en movimiento y es muy presisa. Mi intension es hacer algo similar pero para que el cliente vea solo el camion de su reparto

No hay ningún problema para implementarlo con B4A o B4X.

Lo mas importante es: Antes de programar una linea de codigo, define bien tu proceso.

Esta es una buena recomendación.

Saludos
 
Upvote 0
Top