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;
myLocation = new MyLocationOverlay(getApplicationContext(), mapView);
mapView.getOverlays().add(myLocation);
myLocation.enableMyLocation();
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();
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





salut nazim
vraiment je te remercie
je suis un jeune développeur android et j ai eu le plaisir de suivre les tuto que tu présente toujours
j ai un petit probleme au niveau de l affichage de la carte pour le tuto de la géolocalisation
)
j ai télécharger le projet , j ai changer le key map par celui fournie par google , l application s exécute sur l émulateur , ” je suis connecter sur net ” mais la carte ne s affiche plus , juste un fond avec des carreaux et une point .
j espere que tu m aide , car c est la partie importante de mon projet .
j ai essayer d autre tuto mais j ai toujours le même problème .
merci d avance
bon j ai trouver la solution
pour ceux qui utilise jdk 1.7
il faut rajouter -v a la fin de la commande lors de la generation du md5
C:\Users\USER>keytool -list -alias androiddebugkey -keystore C:\Users\USER\.android\debug.keystore -storepass android -keypass android -v
salut Attar ousama,
svp j’ai le même problème que toi, si tu as trouvé une solution veuillez la déposer sur ce forum
Utilisez le bon API Google c’est du Android 1.5
et verifiez bien le md5 .
Salut Mr Nazim , d’abord je vous fellicite pour vos excellentes tutos , Autrement est ce que vous pouvez m’aider a installer la market android sur mon emulateur et merci d’avance
bnj Nazim
je te remercie pour tous les tuto qui m’ont beaucoup aidé, sauf que j’ai un petit souci avec celui là;
le problème c’est que j’obtient pas ma position sur la map et il affiche “your current location is temporarily unavailable”
merci.
Salut,
J’ai reussi tes tutos mais j’ai une question.je suis en cours de realiser sur le map avec une boussole pointant vers maque(lieu de priere de moselmun(kebla)) mais je n ai pas trouve une solution slv aide moi pour creer cette boussoole sur ce map ponitant vers maka (saudi arabi) et merci
bsr Nazim
je te remercie pour tous les tuto qui m’ont beaucoup aidé, sauf que j’ai un petit souci avec celui là
le problème c’est que j’obtient pas ma position sur la map et quand j’ajoute cette ligne “lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0,this);”
la map ne s’affiche même pas pourrais-tu m’aidér?
merci d’avance