J'ai une application dans laquelle je souhaite afficher différents emplacements (un à la fois, choisi par l'utilisateur) en lançant Google Maps avec leurs coordonnées géographiques spécifiques.
J'utilise actuellement ceci (avec des valeurs de lat.et longues bien sûr):
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?z=17"));
startActivity(intent);
C'est exactement ce que je veux, sauf qu'il ne montre aucun indicateur ou marqueur pour le point spécifié. Il ne se concentre qu'à son emplacement.
Existe-t-il un moyen d'inclure le marqueur ou autre chose sans utiliser MapView?
Réponses:
Essaye ça:
Vous pouvez omettre (Étiquette + Nom) si vous ne voulez pas d'étiquette, et il en choisira une au hasard en fonction de la rue la plus proche ou de toute autre chose qu'il jugera pertinente.
la source
geo:
partie, a souligné lke robpvn. Dans certains cas, la requête échouera en utilisant lat / long, et vous obtiendrez simplement un toast "aucun résultat" au lieu de revenir au géopoint. Pas très utile pour toute sorte d'application SIG.La réponse acceptée est correcte, sauf si votre étiquette contient une esperluette (&).
En regardant un identifiant de ressource uniforme pour les emplacements géographiques (URI `` géo '') :
La section 5.1 stipule:
Malheureusement pour nous, faire cela échappera également au «=» qui n'est pas ce que nous voulons.
Nous devrions faire ceci:
la source
Il existe de nombreuses autres options pour lancer une carte Google en utilisant une intention ...
1)
2)
3)
la source
)
sur la deuxième voie.Cette chaîne fonctionne bien pour moi:
la source
Essayez d'ajouter (LocationMarkerName) à geo: uri. Par exemple, "geo:,? Z = 17 (LocationMarkerName)"
Dans Google Maps sur Android recherchant 23.0980,30.6797 (NamedMarker), il semble centrer la carte et positionner un marqueur avec le nom NamedMarker à cette position.
la source
Je viens de confirmer que l'extrait suivant de @Kenton Price fonctionne toujours sur Android 4.4 (KitKat):
la source
Je n'ai utilisé que des superpositions avec MapView pour dessiner des marqueurs au-dessus d'une carte. Si votre vue montre votre carte, il peut être possible de simplement dessiner votre marqueur au centre de l'écran, de la même manière que vous dessineriez n'importe quelle image sur une vue.
Cependant, le marqueur ne serait pas lié aux coordonnées réelles de la carte, mais s'il ne s'agit que d'une vue statique, cela pourrait le faire.
la source