Comment faire en sorte que les marqueurs de l'API Google Maps v2 d'Android deviennent cliquables pour qu'ils affichent un menu avec des options ou démarrent simplement une nouvelle activité? Je crois que j'ai fait les marqueurs dans mon application actuellement dans une méthode "newb". Je ne leur ai pas attribué de nom ou de méthode pour pouvoir le lier avec le reste du code requis.
googleMap.addMarker(new MarkerOptions()
.position(latLng)
.title("My Spot")
.snippet("This is my spot!")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
Si vous RÉPONDEZ à cela, veuillez inclure un exemple de code d'un marqueur introduit avec un nom unique puis défini comme cliquable pour ouvrir une nouvelle activité.
OnInfoWindowClickListenerCallback
. Il existe une méthode dans GoogleMap pour cela:googleMap.setOnInfoWindowClickListener(listener);
setTag(position)
tout en ajoutant un marqueur à la carte.getTag()
sur l'setOnMarkerClickListener
auditeurla source
Évitez d'utiliser des implémentations d'activité OnMarkerClickListener, utilisez un OnMarkerClickListener local
Vous aurez besoin d'une carte pour rechercher le modèle de données d'origine lié au marqueur
Vous aurez besoin d'un modèle de données
Mettez des données dans le modèle de données
Lors de la création d'un nouveau marqueur à l'aide d'un modèle de données, ajoutez les deux à la carte Maker
Pour un événement de marqueur de clic, utilisez un OnMarkerClickListener local:
Pour afficher la fenêtre d'informations, récupérez le modèle de données d'origine à partir de la carte des marqueurs:
la source
Une autre solution: vous obtenez le marqueur par son titre
la source
Voici mon code complet d'une activité cartographique avec 4 marqueurs cliquables. Cliquez sur un marqueur pour afficher une fenêtre d'informations, et après avoir cliqué sur la fenêtre d'informations, vous passez à une autre activité: anglais, allemand, espagnol ou italien. Si vous souhaitez utiliser OnMarkerClickListener malgré OnInfoWindowClickListener, il vous suffit de permuter cette ligne:
pour ça:
cette ligne:
pour ça:
et à la fin de la méthode "onMarkerClick":
Je pense que cela peut être utile pour quelqu'un;)
la source
la source
J'ai ajouté un
mMap.setOnMarkerClickListener(this);
dans laonMapReady(GoogleMap googleMap)
méthode. Ainsi, chaque fois que vous cliquez sur un marqueur, le nom du texte s'affiche dans la méthode toast.}
Vous pouvez consulter ce lien pour les marqueurs de référence
la source
J'ai édité l'exemple ci-dessus ...
la source