Guide de développement

Local Navigation

Récupérer des informations de positionnement à l'aide de la classe Location

Vous pouvez demander l'obtention de la position GPS actuelle puis récupérer la latitude, la longitude, la vitesse, la direction de l'itinéraire, l'horodatage et le nombre de satellites suivis par le terminal BlackBerry.

  1. Importez les classes requises.
    import javax.microedition.location.*;
  2. Créez une classe et un constructeur.
    public class handleGPS
    {
        public handleGPS()
        {
        }
    }
  3. Dans la classe, indiquez des champs statiques pour un thread et pour chaque élément d'information de positionnement que vous récupérez.
    static GPSThread gpsThread;
    static double latitude;
    static double longitude;
    static float  heading;
    static float  velocity;
    static long   timeStamp;
    static String nmeaString;
  4. Dans le constructeur, créez et démarrez un thread.
    gpsThread = new GPSThread();
    gpsThread.start();
  5. Dans la classe, créez une classe statique privée développant Thread et créez une méthode run().
    private static class GPSThread extends Thread
    {
       public void run()
       {
       }
    }
  6. Dans run(), créez une instance de la classe Criteria. Appelez setCostAllowed(false) pour indiquer le mode autonome.
    Criteria myCriteria = new Criteria();
    myCriteria.setCostAllowed(false);
  7. Dans run(), créez un bloc try/catch. Dans ce bloc, créez une instance de la classe LocationProvider en obtenant une instance de l'objet Criteria. Créez un bloc try/catch dans ce bloc et créez une instance de la classe Location pour récupérer la position GPS actuelle, avec un délai d'expiration de 300 secondes. Remplissez les champs et indiquez le nombre de satellites en appelant 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;

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.