lunes, 16 de julio de 2012

Geolocation en el Evento Start?

Muchas veces nos hemos encontrado con situaciones en aplicaciones de Smart Devices que queremos averiguar algo del dispositivo apenas entra a una pantalla. Lo que muchos hacemos es programarlo en el evento Start. Pero, como los eventos Start, Refresh y Load de los objetos SD son ejecutados en el servidor, esto no lo podemos hacer.

Un ejemplo es la ubicación geográfica del dispositivo. Se quiere tener cuando se "abre" una pantalla determinada, la ubicación del dispositivo.
Un tip que, en varios casos, sirvió para poder sortear esta limitación es calcular el la ubicación geográfica en el llamador para luego pasarla por parámetro al objeto llamado.

En el objeto llamador tenemos una acción con el siguiente evento asociado:


Event 'Call'
Composite
&GeolocationInfo = GeolocationAPI.GetMyLocation(0,0,false)
UsesGeoloc.Call(&GeolocationInfo.Location)
EndComposite
Endevent


Allí se calcula la posición actual y luego se llama al objeto que realmente la va a utilizar.
parm(in: &Geolocation)
En el objeto donde se quiere tener la ubicación geográfica del dispositivo se recibe por parámetro y listo.

Cosas a tener en cuenta:

a. En el Objeto UsesGeoloc tenemos la info disponible en el Evento Start ya que fue recibida por parámetro
b. La variable &Geolocation es de tipo Geolocation y la variable &GeolocationInfo es de tipo GeolocationInfo

Nota:
No solo sirve para información geografica sino para acceder a cualquier informacion de un dispositivo sin tener que ejecutar un evento de usuario desde la pantalla donde se necesita usar dicha información.


Recursos: Links de interés para completar este ejemplo:
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GeoLocation+-+GetMyLocation+Sample,
Esta el xpz para bajar disponible en: http://wiki.gxtechnical.com/commwiki/servlet/hwiki?File%3AExample+Geoloc+in+Start+for+blog,


3 comentarios:

  1. Buenas tardes, en una app estamos guardando la ubicación geográfica del dispositivo. y usamos la misma API.
    Cuando los dispositivos tienen servicio de datos o Wifi funciona muy bien, pero en ciertos lugares que no hay servicio de datos ni Wifi solo funciona le gps, en esta instancia tenemos un problema: toma la ultima ubicación geográfica por datos o Wifi, ósea puedo estar en distintos lugares y siempre me guarda la misma ubicación geográfica conocida.
    Descargue una app de Google my tracks o mi ruta, la ejecute registra todo el recorrido aun estos casos de no tener datos ni Wifi, y por mi sorpresa mi app toma perfecto las ubicaciones geográficas.
    Pregunta. la función GetMyLocation actualiza la ubicación geográfica, la almacenada en el dispositivo y luego la lee? ¿O solo la lee?
    Si solo la lee, como puedo actualizar ubicación geográfica del dispositivo?

    Desde ya muchas gracias
    Rafael

    ResponderEliminar
  2. hola! interesante su aporte! pero tengo una duda....cómo podría guardar la ubicación?

    ResponderEliminar
  3. From international roulette choices to localized slots and desk video games, each cellular on line casino we advocate will allow you to deposit, play and win in your native foreign money. Moreover, lengthy as|so long as} on-line gaming is permitted in your nation, find a way to|you'll|you can} go to your native app retailer and download every platform with none points. Regardless of where would possibly be} in the world, cellular casino apps are a serious part of of} the iGaming panorama. As long as on-line playing is a reputable, reliable and respected industry in your nation then you'll have entry to cellular video 코인카지노 games. From free play casino video games to actual cash gaming and live vendor tables, the selection of cellular casino video games you may find at our companion websites is enough to|is sufficient to} deliver the brilliant lights of Las Vegas to the palm of your hand .

    ResponderEliminar