2010-12-07 6 views
0

Ich habe ein seltsames Problem auf meiner Mapview.zoom in, zoom out auf mkmapview zeigt die versteckten mkannotations

Ich habe Filteroption auf meiner Karte, um einige Anmerkungen anzuzeigen und auszublenden.

Verwendung

[[self.gmapViewController.gMap viewForAnnotation: annot] setHidden: JA]; oder

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

und ich zentriere die Karte zu einem bestimmten Ort, wenn ich die mkmpaview filter.

aber das Problem ist ... wenn ich versuche zu vergrößern oder zu verkleinern, werden die versteckten Anmerkungen auf der Karte angezeigt.

wie man es vermeiden kann.

Könnte jemand ..let mir die Lösung wissen, bitte ...

Antwort

0

Warum kann man die Anmerkungen entfernen und dann wieder Anmerkungen hinzufügen, wo Sie statt Hidding und zeigt möchten.

+0

Nun, ich habe eine Suchfunktion auf dieser Karte. Also, während der Suche, habe ich die Suche basierend auf den versteckten und sichtbaren Anmerkungen durchgeführt und wenn die Suche mit den versteckten Orten übereinstimmt, habe ich ihren Status versteckt = NO (sichtbar) gemacht. Ich verstehe nicht, warum die versteckten Anmerkungen sichtbar sind, wenn ich versuche, zu vergrößern oder zu verkleinern. Gibt es etwas, das mir fehlt? – sbmandav

0

Sie können sich nicht darauf verlassen, dass bestimmte Anmerkungsansichten die gleiche Anmerkung darstellen, wenn sich die Grenzen der Kartenansicht ändern. Es verwendet sie wieder, so wie ein UITableView seine Zellen wiederverwendet. Was Sie tun müssen, ist eine Eigenschaft von annot selbst zu ändern sowie den versteckten Zustand der Annotation-Ansicht zu ändern, die sie darstellt, dann nach dieser Eigenschaft zu suchen und den entsprechenden versteckten Zustand in Ihrer MKMapViewDelegate-mapView:viewForAnnotation: Methode zu setzen.

+0

Nun, 1. Ich verwende nicht dequeueReusableAnnotationViewWithIdentifier, da meine benutzerdefinierten Anmerkungen Bilder nicht richtig eingestellt sind. 2.Ich verwende bereits eine Eigenschaft der Annotation (meine benutzerdefinierte Annotation) und verstecke und entferne die Annotationen. also .. wieso würde mapview die versteckten Positionen anzeigen, wenn ich versuche, zu vergrößern oder zu verkleinern. – sbmandav