Je devais afficher de nombreux éléments superposés (environ 600, tous cliquables pour afficher des informations à leur sujet) sur la carte. Pour des raisons de performance, j'ai pensé qu'il serait judicieux de les regrouper dans différentes classes ItemizedOverlay, car chaque groupe affichera différents types d'informations à leur sujet. (En particulier, les éléments sont des aéroports, des VORs, des NDBs et d'autres choses concernant l'aviation).
Mon problème est que si je les sépare en classes et que je les montre, les performances sont super. La carte est fluide. Mais lorsque j'ajoute une deuxième couche par-dessus la première, les éléments de la première couche ne sont plus cliquables.
En lisant beaucoup, et en déboguant avec la méthode Log.i, j'ai réalisé que chaque couche est cliquée mais que seule la méthode OnTap(Geopoint point, MapView mapview) est appelée. L'appel à super.onTap(point, mapview) ne fonctionne pas. J'ai besoin de la méthode onTap(int index) pour identifier le marqueur. (J'ai les deux méthodes dans mes classes (après avoir lu beaucoup d'exemples)).
Alors, que dois-je faire ? Existe-t-il une méthode pour résoudre mon problème ? Je ne veux pas me lancer dans des approches lourdes comme la comparaison des coordonnées du clic avec celles de tous les éléments superposés pour trouver quelque chose de proche.
Merci d'avance.