anonymous Log in
Search
Recents:
v3.0
sd
Comocer en tiempo real la posición donde se encuentra un dispositivo Mobile
26/06/20 15:43

cfalchini

Replies: 2

Buenas tardes,
Necesito hacer que mi aplicación mobile registre con una cierta frecuencia
la posición en la que se encuentre pero en forma desatendida, esto es, sin
la necesidad de que el usuario de la aplicación dispare el proceso de
registrar su posición. (que ya lo estoy haciendo)
Con "Geolocation Tracking", en el mobile queda registrado y puedo recuperar
el historial , pero no puedo seguirlo desde el servidor para conocer en
"tiempo real" donde se encuentra el dispositivo .
Existe alguna funcionalidad que permita esto?
Desde ya muchas gracias
--
Ing. César Adolfo Falchini
MP 22565198
BFG Technology
Replies

Fernando Saldañ84197

16/07/20 21:37
Por si todavía no lo resolviste, podes usar un timer o el mismo StartTracking permite indicar una acción a ejecutar en cierto intervalo Esa acción es un evento que obtiene la ubicación y la envía al servidor. La ubicación la podes obtener del historial de tracking (la última) o directo del gps. https://wiki.genexus.com/commwiki/servlet/wiki?25177,StartTracking+method Así lo tengo en producción. Pasa seguido que dependiendo de la calidad del celular, a veces no se actualiza la ubicación y te envía una anterior. También pasa menos con los de buena calidad. Espero sirva Saludos El vie., 26 jun. 2020 a las 15:43, Cesar Adolfo Falchini ()

cfalchini

17/07/20 09:19
Gracias Fernando, si pude resolverlo gracias a la info de la wiki que me sugeriste https://wiki.genexus.com/commwiki/servlet/wiki?25177,StartTracking+method Gracias nuevamente! Puse en el objeto main un evento: event '*Actualiza_GeoLocation*' composite &GetMyLocation = GeneXus.Common.Geolocation.GetMyLocation(0,0,false) &DeviceId = ClientInformation.Id SaveLocation(&DeviceId,&GetMyLocation) endcomposite endevent que lo dispara desde un sdpanel donde puse el proceso de iniciar traking Event 'Habilitar' composite GeneXus.Common.UI.Progress.ShowWithTitle('Activando Traking ...') &TrackingParameters = new() &TrackingParameters.ActionTimeInterval = 60 //50 &TrackingParameters.ChangesInterval = 40 //30 &TrackingParameters.Accuracy = 30 //20 &TrackingParameters.Action = !'*Actualiza_GeoLocation*' &TrackingParameters.Distance = 0 &TrackingParameters.UseForegroundService = true GeneXus.Common.Geolocation.StartTracking(&TrackingParameters) GeneXus.Common.UI.Progress.Hide() &DeviceId = ClientInformation.Id &GetMyLocation = GeneXus.Common.Geolocation.GetMyLocation(0,0,false) activarDispositivo(&DeviceId) SaveLocation(&DeviceId,&GetMyLocation) habilitar.Visible = 0 Deshabilitar.Visible = 1 endcomposite Endevent El jue., 16 jul. 2020 a las 21:38, Fernando Saldaña ()


Back to sd