J'utilise le code suivant pour créer une liste de marqueurs dans un mapfragment utilisant trois tableaux qui envoie les informations de latitude, longitude et nom d'une liste d'enregistrements. Mon objectif est d'envoyer à une nouvelle intention le nom de l'enregistrement lorsque l'on clique sur la fenêtre d'information. Maintenant, envoie pour tous les marqueurs le nom d'enregistrement du dernier élément du tableau, mais j'ai besoin d'envoyer les informations spécifiques à chaque marqueur. Une idée?Comment extraire une information de marqueur d'une liste de marqueurs
String[] arraylatitud = arrlat.toArray(new String[arrlat.size()]);
String[] arraylongitud = arrlon.toArray(new String[arrlon.size()]);
String[] arrayrecordname = arrrecname.toArray(new String[arrrecname.size()]);
for(int i=0; i<arrlon.size();i++){
mapa.addMarker(new MarkerOptions()
.position(new LatLng(Float.valueOf (arraylatitud[i]),Float.valueOf (arraylongitud[i])))
.title("Grabación:" + arrayrecordname[i])
.snippet("Latitud:" + arraylatitud[i] + "Longitud:" + arraylongitud[i]));
filename = arrayrecordname[i];
}
mapa.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent(MapArea.this, StreamingArea.class);
intent.putExtra("variable_selection", filename.toString());
startActivity(intent);
}
}
Cela ne fonctionne pour moi, retourne toujours le dernier identifiant de la liste. Dans un autre forum m'a recommandé qui utilise une carte du type privé Map markerMap = new HashMap <>(); pour obtenir le onInfoWindowClick() peut être appelé par markerMap.get (marqueur) mais je ne pense pas comment implémente cette idée. – velas16v
Oui, c'est ce que je veux dire. Je vais essayer de vous expliquer un bitbetter dans environ une heure – dumazy
http://bon-app-etit.blogspot.be/2012/12/add-informationobject-to-marker-in.html – dumazy