2016-06-03 11 views
0

Wie kann man mit IOS MapKit Rückrufe während des Ziehens der Karte selbst erhalten? Ich weiß, dass ich Anfang und Ende eines Ziehens erkennen kann, aber ich möchte während des Ziehens Rückrufe erhalten. Als solches bin ich nach einem Strom von Rückrufen, während der Benutzer anfängt zu ziehen, dann eine Pause, wenn sie noch ihren Finger runter haben und nicht freigegeben haben, dann mehr Rückrufe, während sie weiter ziehen.MKMapView Callbacks erhalten, während die Karte vom Benutzer gezogen wird?

Hintergrund: Möchte ein Trigger den Mittelpunkt lat/long der aktuellen Karte aktualisieren, wenn der Benutzer die Karte bewegt. Ich bin mir nicht sicher, wie die Aktualisierungsrate für meine Anforderungen gesteuert werden würde, aber vielleicht ist eine Callback-Funktion, die ich nicht kenne, konfigurierbar?

Backup Frage: Wenn dies mit MKMapView nicht möglich ist, wie würden Sie dann am besten meinen Anforderungen entsprechen?

Antwort

1

Sie benötigen MKMapViewDelegate Methoden zum Beispiel implementieren

- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated; 
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated; 

oder fügen Sie Ihre panGesture

UIPanGestureRecognizer* panRec = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(didDragMap:)]; 
panRec.delegate = self; 
[self.mapView addGestureRecognizer:panRec]; 

abzubilden und benötigen pan Delegatmethode

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
    return YES; 
} 
+0

zu implementieren Ich habe versucht, diese und Sie werden nur ausgelöst, wenn Sie mit dem Ziehen beginnen und wenn Sie mit dem Ziehen fertig sind. Not in between :( – Greg

+0

Sie können panGesture zur Karte 'UIPanGestureRecognizer * hinzufügen panRec = [[UIPanGestureRecognizer-Zuweisung] initWithTarget: self-action: @selector (didDragMap :)]; panRec.delegate = self; [self.mapView addGestureRecognizer: panRec]; ' – iSashok

+0

ok danke - es gibt keine bestehenden Delegat Anruf dann ist da? Wenn Sie Ihre Antwort mit dem UIPanGestureRecognizer Ansatz aktualisieren möchte kann ich wählen – Greg