Google maps, marqueur et intents avec Android

Quand on veut lancer une application de "cartographie" (Google maps par défaut) depuis notre application, il faut alors créer un Intent de la forme :

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("geo:44.8373682,-0.576144")));

Or en passant directement les coordonnées géographiques, Google Maps se contente de centrer la carte sur la l'endroit voulu, alors qu' en passant une adresse ("geo:0,0?q=mon+adresse") un marqueur apparaît sur la carte. Voyons comment faire pour afficher ce marqueur en passant la latitude et la longitude.

On va utiliser une petite astuce : en passant les coordonnées directement dans la requête, Google Maps affiche bien un marqueur :

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=44.8373682,-0.576144")));
On peut même aller plus loin en ajoutant un titre au marqueur :
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=44.8373682,-0.576144 (" + titre + ")")));

Marqueur et intent

Attention tout de même, cette astuce se base sur les fonctionnalités de Google Maps : si l'utilisateur possède une autre application ou voir une version de Google Maps qui ne supporte pas ce type de requêtes (on sait jamais), cela ne fonctionnera pas correctement.

Sympa donc, mais à utiliser avec précaution.

Tags: , , , , , , , ,

Jeudi 24 février 2011 Android, Petites astuces, Programmation

3 commentaires pour Google maps, marqueur et intents avec Android

Halley
Lundi 23 avril 2012

Merci, bocou !!!

hanane
Dimanche 4 novembre 2012

bonjour,
merci pour le tuto amis j'aimerai savoir comment faire pour ajouter plusieurs marqueurs
merci d'avance

zakaria
Mardi 26 mars 2013

merci pour le tuto amis j'aimerai savoir comment faire pour ajouter plusieurs marqueurs
merci d'avance

Laisser un commentaire

Recherche

"));