3 votes

Suivi et déplacement d'une icône sur une carte Android

Je travaille sur une application qui fournira un itinéraire pour la navette des étudiants. J'ai réussi à construire cette application qui montrera la carte de l'itinéraire avec les arrêts. J'aimerais maintenant ajouter une nouvelle fonctionnalité qui affichera l'emplacement de la navette étudiante en temps réel. Lorsque l'étudiant regarde l'itinéraire de la navette, il devrait également voir une icône mobile sur la carte qui représente l'emplacement en temps réel de la navette. Je ne sais pas comment faire... ????

Merci d'avance

1voto

artworkad シ Points 15473

Il faut d'abord s'intéresser au GPS et à la façon de l'utiliser dans son application. Pour cela, stackoverflow.com a déjà des réponses : Quel est le moyen le plus simple et le plus robuste d'obtenir la position actuelle de l'utilisateur dans Android ?

Il faut ensuite gérer l'api de google maps pour afficher les icônes et faire du géocodage : utiliser-google-maps-Android

Mise à jour :

public class JsonDownloader{

    private static final String URI = "http://mySite.net/rest/getData.php";

    @SuppressWarnings("unchecked")
    public static String receiveData(){
        String result = "";
        DefaultHttpClient client = new DefaultHttpClient();
        HttpGet method = new HttpGet(url);
        HttpResponse res = null;
        try {
            res = client.execute(method);
        } catch (ClientProtocolException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        try{
             InputStream is = res.getEntity().getContent();
             BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"));
             StringBuilder sb = new StringBuilder();
             String line = null;
             while ((line = reader.readLine()) != null) {
                     sb.append(line + "\n");
             }
             is.close();
             result = sb.toString();
        }catch(Exception e){
             Log.e("log_tag", "Error converting result "+e.toString());
        }
        return result;
    }
} 

Ce code effectue une requête http de base et renvoie les données renvoyées par votre script sous la forme d'une chaîne. Ceci est utile pour télécharger des données GPS sans rien afficher.

Pour le stockage des données GPS, vous avez besoin de la même classe, vous pouvez modifier la classe ci-dessus pour effectuer des requêtes post et get. Il faut donc d'abord spécifier les paramètres post. Nous pouvons donc ajouter la méthode postData : http://www.androidsnippets.org/snippets/36/index.html

Tout ceci doit se faire de manière asynchrone car c'est une opération qui prend du temps, pour plus de détails regardez le code dans les commentaires : http://Android-projects.de/2010/08/13/threading-in-Android-apps/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X