web-dev-qa-db-fra.com

afficher la fenêtre d'informations sur chaque marqueur à la fois

Je veux montrer quelque chose comme this

Je peux afficher tous les marqueurs sur la carte, mais je souhaite afficher la fenêtre d'informations sur chaque marqueur chaque fois que tous les marqueurs sont remplis. J'ai essayé jusqu'à présent, mais il montre tous les marqueurs avec une seule fenêtre d'informations sur les marqueurs.

for (int i = 0; i < jobsDtoList.size(); i++) {
    Double latitude = Double.parseDouble(jobsDtoList.get(i).getSiteLatitude());
    Double longitude = Double.parseDouble(jobsDtoList.get(i).getSiteLongitude());

    LatLng latLng = new LatLng(latitude, longitude);
    MarkerOptions TP = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.mipmap.job_marker));
    googleMap.addMarker(TP).showInfoWindow();
}
22
Ram Mandal

Il n'est pas possible d'afficher plus d'une fenêtre d'informations à la fois. De la documentation :

Une fenêtre d'informations vous permet d'afficher des informations à l'utilisateur lorsqu'il tape sur un marqueur. Une seule fenêtre d'information est affichée à la fois . Si un utilisateur clique sur un autre marqueur, la fenêtre d'informations actuelle sera masquée et la nouvelle fenêtre d'informations sera affichée.

Vous voudrez peut-être jeter un œil aux icônes à bulles de la Google Maps Android API Utility Library . Les icônes à bulles ajoutent des options de rendu plus puissantes pour les marqueurs, mais ne changent pas Cela signifie que vous ne pourrez toujours pas afficher plus d'une fenêtre d'informations à la fois, mais les icônes de bulles vous permettront d'afficher plus d'informations sur chaque marqueur:

Ajoutez un IconGenerator pour afficher des extraits d'informations sur vos marqueurs. Cet utilitaire permet de faire en sorte que vos icônes de marqueur ressemblent un peu à des fenêtres d'informations, dans la mesure où le marqueur lui-même peut contenir du texte et d'autres contenus. L'avantage est que vous pouvez garder plusieurs marqueurs ouverts en même temps, alors qu'une seule fenêtre d'information peut être ouverte à la fois . Vous pouvez également styliser les marqueurs, changer l'orientation du marqueur et/ou du contenu et modifier l'image d'arrière-plan/neuf patchs du marqueur.

MISE À JOUR: Un exemple utilisant des icônes de bulles (prenez en compte que vous devrez ajouter la bibliothèque Google Maps Android API) à votre projet en suivant ces instructions ):

LatLng latLng = new LatLng(latitude, longitude);

TextView text = new TextView(context);
text.setText("Your text here");
IconGenerator generator = new IconGenerator(context);
generator.setBackground(context.getDrawable(R.drawable.bubble_mask));
generator.setContentView(text);
Bitmap icon = generator.makeIcon();

MarkerOptions tp = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromBitmap(icon));
googleMap.addMarker(tp);
16
antonio