2010-12-07 26 views
0

J'ai un problème étrange sur ma mapview.zoomer, dézoomer sur mkmapview montre les mkannotations cachées

J'ai l'option de filtrage sur ma carte pour montrer et cacher des annotations.

utilisant

[[self.gmapViewController.gMap viewForAnnotation: Annot] setHidden: OUI]; ou

[[self.gmapViewController.gMap viewForAnnotation: annot] setHidden: NON];

et je centre la carte à un emplacement particulier lorsque je filtre le mkmpaview.

mais le problème est que ... lorsque j'essaie d'effectuer un zoom avant ou arrière, les annotations masquées s'affichent sur la carte.

comment l'éviter.

Quelqu'un pourrait-il ..let moi la solution ... s'il vous plaît

Répondre

0

Pourquoi ne puis-vous supprimer les annotations, puis ajoutez à nouveau des annotations où vous voulez au lieu de hidding et de montrer.

+0

Eh bien, j'ai une fonctionnalité de recherche sur cette carte. Ainsi, pendant la recherche, j'ai utilisé pour effectuer la recherche basée sur les annotations cachées et visibles et si le serach correspond aux emplacements cachés, j'avais l'habitude de faire leur statut caché = NON (visible). Je ne comprends pas pourquoi les annotations cachées sont visibles lorsque j'essaie de faire un zoom avant ou arrière. Y a-t-il quelque chose qui me manque? – sbmandav

0

Vous ne pouvez pas compter sur des vues d'annotations spécifiques pour continuer à représenter la même annotation que les limites de la vue de carte; il les réutilise, tout comme un UITableView réutilise ses cellules. Ce que vous devez faire est de changer une propriété de annot lui-même ainsi que de changer l'état caché de la vue d'annotation qui le représente actuellement, puis vérifier cette propriété et définir l'état caché approprié dans votre méthode MKMapViewDelegate-mapView:viewForAnnotation: ainsi.

+0

bien, 1.j'utilise pas dequeueReusableAnnotationViewWithIdentifier car mes images d'annotations personnalisées ne sont pas définies correctement. 2.J'utilise déjà certaines propriétés de l'annotation (mon annotation personnalisée) et cache et annule les annotations. alors ... pourquoi mapview montrerait les endroits cachés lorsque j'essayerais de faire un zoom avant ou arrière. – sbmandav