Wie überprüfen Sie, ob eine MKAnnotation innerhalb einer MKCoordinateRegion verfügbar ist

7

Ich habe bemerkt, dass wenn ich MKMapViews selectAnnotation:animated: verwende, dass es meine Karte vom Bildschirm scrollt, wenn die MKAnnotation nicht in der aktuellen MKCoordinateRegion angezeigt wird, die meine Map anzeigt.

Gibt es eine einfache Möglichkeit zu überprüfen, ob eine Anmerkung auf dem Bildschirm innerhalb der angegebenen MKCoordinateRegion angezeigt wird? Ich möchte in der Lage sein, eine Anmerkung auszuwählen, die nur auf dem Bildschirm und nicht außerhalb des Bildschirms angezeigt wird.

    
randombits 30.12.2011, 02:55
quelle

1 Antwort

24

Verwenden Sie die Methode annotationsInMapRect: in der MKMapView Klasse. Sie gibt NSSet aller Annotationsobjekte zurück, die in der angegebenen Map rect angezeigt werden. Verwenden Sie die Methode containsObject: von NSSet , um zu testen, ob die Anmerkung in dieser Gruppe sichtbarer Anmerkungen vorhanden ist.

%Vor%

Auch visibleMapRect ist dasselbe wie die Region, aber nur eine andere Form der Darstellung. Nimm von den Dokumenten,

  

visibleMapRect

     

Der Bereich, der derzeit in der Kartenansicht angezeigt wird.

     

@property(nonatomic) MKMapRect visibleMapRect

     

Diese Eigenschaft stellt die gleichen grundlegenden Informationen wie die Regionseigenschaft dar, wird jedoch als Kartenrechteck anstelle einer Region angegeben.

    
Anurag 30.12.2011, 03:04
quelle

Tags und Links