2010-02-13 9 views
0

Je souhaite ajouter un ItemizedOverlay à un MapView qui conserve toujours un OverlayItem en tant que sélectionné. Je l'indique en utilisant un StateListDrawable avec deux marqueurs de marqueur différents.Android MapView Overlay qui conserve toujours un OverlayItem sélectionné?

Mais maintenant, chaque fois que j'appuie sur la carte et que je ne frappe pas un marqueur, le dernier élément sélectionné sera désélectionné. Mais je veux toujours garder le dernier élément sélectionné jusqu'à ce qu'un nouveau soit frappé.

J'ai déjà essayé d'intercepter par ex. onTap, mais cela ne me permet que désactiver complètement la gestion du robinet. Cela signifie maintenant que je ne peux même plus sélectionner un autre marqueur.

Toutes suggestions comment faire à ce sujet?

Répondre

0

J'ai obtenu une réponse sur le développeur android ml. Je pense que ce serait la bonne solution, si le mapview n'aurait pas un bug en lui-même.

http://code.google.com/p/android/issues/detail?id=6752

Voici la solution proposée:

Gardez la trace du dernier élément sélectionné. Dans onTap() si currentFocus() est null, setFocus() au dernier élément sélectionné que vous avez enregistré. Si ce n'est pas null, mettez à jour votre référence.

Vous pouvez également utiliser la même idée mais en utilisant OnFocusChangeListener sur ItemizedOverlay pour déterminer si un nouvel élément a été mis au point ou non.

Questions connexes