Le but de ce tutoriel est d’expliquer comment indiquer la position d’un utilisateur sur une Google Map.
Ce tutoriel vient en complément des deux précédents :

Récupération du projet

Pour débuter, nous allons récupérer le projet créé lors du tutoriel Géolocalisation sous Android. Puis, nous importerons le projet dans eclipse.
Nous commencerons par simplement indiquer la position d’un utilisateur sur la map.

Indiquer la position

Pour faciliter cette étape, une classe existe dans l’API Google Map d’Android, il s’agit de MyLocationOverlay

Cette classe est très facile à utiliser, il suffit de :

  • Créer votre variable
  • private MyLocationOverlay myLocation = null;
    
  • Instancier la classe
  • myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
    
  • Ajouter ma location dans la map
  • mapView.getOverlays().add(myLocation);
    
  • Activer l’affichage de la localisation
  • myLocation.enableMyLocation();
    
  • Si vous souhaitez ne plus afficher la position, il suffit d’utiliser
myLocation.disableMyLocation()

Ce qui donnera :

Afficher une boussole

La classe MyLocationOverlay possède plusieurs autres fonctionnalités, dont la possibilité d’afficher une boussole, pour cela il suffit juste d’appeler les méthodes suivantes :

  • Affichage d’une boussole
  • myLocation.enableCompass();
    
  • Désactiver l’affichage de la boussole
myLocation.disableCompass();

Ce qui donnera

Réagir au positionnement de l’utilisateur

Si vous souhaitez exécuter une action particulière dès que le positionnement de l’utilisateur est définie, par exemple centrer ou zoomer la map. Une méthode est disponible dans la classe MyLocationOverlay, il s’agit de runOnFirstFix.
Par exemple, si on souhaite centrer la carte et zoomer, il suffit de rajouter le code suivant :

myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
myLocation.runOnFirstFix(new Runnable() {
    public void run() {
	mc.animateTo(myLocation.getMyLocation());
	mc.setZoom(17);
    }
});

Conclusion

Ce tutoriel se fini ici, en espérant qu’il vous a aidé à comprendre comment indiquer la position d’un utilisateur sur une google map. Voici le code résultant de ce tutoriel

Categories: Tutoriels

50 Responses so far.


  1. Tony dit :

    Ces tutos sont sympa et bien pratique pour la géolocalisation. Dommage que les 2/3 projets de géolocalisation que j’ai téléchargé et testé ne fonctionne pas.

  2. Fakher dit :

    Bonjour,
    merci bien pour le tuto c’est très intéressant,
    j’ai changé le keystore mais lors de l’execution il génére cette erreur :
    Unable to start activity ComponentInfo{com.android.map/com.android.map.HelloGoogleMapActivity}: java.lang.IllegalArgumentException: provider=network

    aider moi SVP

  3. Mourad dit :

    SVP, comment dessiner cette cercle au centre d’un point données, centre d’un marquer d’un établissement et pas sous ma position.

  4. bilal dit :

    bonjour Ms.nazim

    je veux savoir si possible d’obtenir la position de l’utilisateur à l’aide d’une listes des coordonnées taper dans le code java non pas par ” Emulator Control ”
    merci d’avance

  5. salma dit :

    Salut Nazim,

    Merci bcp pour cet intéressant tuto mais j’ai essayé d’exécuter la map mais il me donne des carreau blanc. Et pour le dossier jre/bin je ne le trouve pas, sachant que j’ai télécharger le code source présent ici et j’ai modifier le key map.

    Merci

Leave a Reply


Notifiez-moi des commentaires à venir via email. Vous pouvez aussi vous abonner sans commenter.