Guía de desarrollo

Local Navigation

Recuperar información de la ubicación utilizando la clase Location

Puede solicitar un punto de posición GPS y después, recuperar la latitud, la longitud, la velocidad, el rumbo, la marca de tiempo y el número de satélites que está rastreando el dispositivo BlackBerry.

  1. Importe las clases necesarias.
    import javax.microedition.location.*;
  2. Cree una clase y un constructor.
    public class handleGPS
    {
        public handleGPS()
        {
        }
    }
  3. En la clase, declare campos estáticos para un subproceso y para cada elemento de información de la ubicación que recupere.
    static GPSThread gpsThread;
    static double latitude;
    static double longitude;
    static float  heading;
    static float  velocity;
    static long   timeStamp;
    static String nmeaString;
  4. En el constructor, cree e inicie un subproceso.
    gpsThread = new GPSThread();
    gpsThread.start();
  5. En la clase, cree una clase estática privada que amplíe Thread y cree un método run().
    private static class GPSThread extends Thread
    {
       public void run()
       {
       }
    }
  6. En run(), cree una instancia de la clase Criteria. Invoque setCostAllowed(false) para especificar el modo autónomo.
    Criteria myCriteria = new Criteria();
    myCriteria.setCostAllowed(false);
  7. Enrun(), cree un bloque try/catch. En este bloque, cree una instancia de la clase LocationProvider recuperando una instancia del objeto Criteria. Cree un bloque try/catch dentro de este bloque y cree una instancia de la clase Location para recuperar el punto de posición GPS actual incluyendo un tiempo de espera máximo de 300 segundos. Rellene los campos y especifique el número de satélites invocando getExtraInfo("application/X-jsr179-location-nmea").
    try
    {
       LocationProvider myLocationProvider =
          LocationProvider.getInstance(myCriteria);
       try
       {
          Location myLocation = myLocationProvider.getLocation(300);
          latitude   = myLocation.getQualifiedCoordinates().getLatitude();
          longitude  = myLocation.getQualifiedCoordinates().getLongitude();
          velocity   = myLocation.getSpeed();
          heading    = myLocation.getCourse();
          timeStamp  = myLocation.getTimestamp();
          nmeaString = myLocation.getExtraInfo
             ("application/X-jsr179-location-nmea");
       }
       catch ( InterruptedException iex )
       {}
       catch ( LocationException lex )
       {}
    }
    catch ( LocationException lex )
    {}
    return;

¿Le ha resultado útil esta información? Envíenos sus comentarios.