2010-12-08 26 views
4

J'ai un MapView avec un ItemizedOverlay et un tas de OverlayItem: s. Quand un OverlayItem est appuyé sur le layout personnalisé, balloon est affiché sur MapView. Je peux ajouter un bouton de fermeture qui masque la disposition du ballon. Mais comment puis-je fermer le ballon si l'utilisateur tape: s sur la carte en dehors du ballon? J'ai un OnTouchListener sur MapView, mais comment puis-je localiser la disposition de ballon ouverte et la cacher?Fermer le ballon affiché sur MapView

/P

Répondre

0

Vous pouvez ajouter une propriété booléenne à votre mise en page de ballon personnalisé appelé isOpen que vous définissez à true lorsque le ballon s'ouvre et faux quand il est fermé. Si un utilisateur tape à l'extérieur du ballon, dans votre événement onTouch, parcourez votre liste de OverlayItems et vérifiez sa propriété isOpen - si elle est vraie, fermez-la et sortez de la boucle d'itération.