GPS & API Location

jiidou Messages postés 48 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 12 février 2009 - 4 mai 2008 à 18:13
jiidou Messages postés 48 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 12 février 2009 - 29 juil. 2008 à 18:08
Bonjour
Est ce  qu'il y a quelqu'un qui a pu récupérer les coordonnes de son PDA (via GPS) en utilisant  API Location (jsr 179) ?

Pour CLDC j'ai pu compilé et éxecuter le programme sur l'emulateur.Mais il s'exécute pas sur mon pda (HTC P3300).
Pour CDC j'ai pu seulement compiler en ajoutant  jsr179.jar dans la ressources du projet mais sans execution.

Voici le code de la classe que je fais appel pour recuperer  les coordonnes:

import javax.microedition.location.*;
import javax.microedition.io.*;

import java.io.*;

class Retriever extends Thread {

    private Main midlet;
   
        public Retriever(Main midlet){
            this.midlet = midlet;
    }

      public void run(){
             try {
                        midlet.displayString("dans run");
                        checkLocation();
                        midlet.displayString("ça passe");
             } catch (Exception ex){
                                            ex.printStackTrace();
                                                midlet.displayString(ex.toString());
          }
      }

      public void checkLocation() throws LocationException, InterruptedException{
         
        String string,s1,s2;
        Location l;
        Criteria cr = new Criteria();
        LocationProvider lp;
          Coordinates c;
        // Set criteria for selecting a location provider:
            cr.setCostAllowed(true); //default value
            cr.setSpeedAndCourseRequired(true);
            cr.setHorizontalAccuracy(500);
            cr.setAltitudeRequired(true);
              
         // Get an instance of the provider
        lp = LocationProvider.getInstance(cr);
         // Request the location, setting a one-minute timeout

         l = lp.getLocation(60);
        c = l.getQualifiedCoordinates();
        if(c != null) {
            double lat = c.getLatitude();
            // Use coordinate information
            double lon = c.getLongitude();
            string = "\nLatitude : " + lat + "\nLongitude : " + lon;
                        s1=(String)String.valueOf(lat);
                        s2=(String)String.valueOf(lon);
                        midlet.displayResult(s1, s2);
                       
        } else {
             string ="Location API failed";
        }
        midlet.displayString(string);
    }
}

Merci.

2 réponses

immobilia Messages postés 43 Date d'inscription dimanche 16 mai 2004 Statut Membre Dernière intervention 25 décembre 2011
28 juil. 2008 à 18:14
Salut, même problème que toi avec le SPV M650 == HTC P3300, sur le site J2ME : JSR disponibles sur le mobile, ils expliquent comment faire pour savoir si ton mobile suporte la JSR179 fournie par javax.microedition.location.



Lors de l'éxecution sur PDA, j'obtient un java.lang.NullPointerException, car ce PDA ne supporte pas la JSR 179.
0
jiidou Messages postés 48 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 12 février 2009
29 juil. 2008 à 18:08
Salut
en fait j'ai abondoné cette cette solution puisque le but est de concevoir un système qui doit etre extensible et portable de part et d'autres sans se lier à la configuration du mobile. J'ai fait les choses par programation (sans se baser sur jsr179 )avec des traitements NMEA en analysant les flux  envoyés par les satelites et les envoyant vers le serveur pour les afficher sur une carte SIG ;et les resultats ont été exellantes.

[C'etait dans le cadre de mon PFE du cycle ingénieur que j'ai presenté la  premiere semaine du mois 6]

Merci.
0
Rejoignez-nous