Zeichnen Sie in MKMapView einen Kreis mit einem Umkreis von 1000 m um den Benutzerstandort

(Mit iOS 5 und Xcode 4.2)

Ich habe eine MKMapView und möchten einen Kreis zeichnen, der von 1000m radius um den Standort der Benutzer ab.

Auf der Oberfläche scheint es, dass die Umsetzung der mapView:viewForAnnotation: Karte anzeigen delegate-Methode, und hinzufügen eines benutzerdefinierten MKAnnotationView für die Benutzer, Standort, wäre eine perfekte Lösung. Es würde in etwa so Aussehen:

- (MKAnnotationView *)mapView:(MKMapView *)mapView
            viewForAnnotation:(id <MKAnnotation>)annotation
{
    //If it's the user location, return my custom MKAnnotationView.
    if ([annotation isKindOfClass:[MKUserLocation class]]) {
        return myCustomAnnotationView;
    } else {
        return nil;
    }
}

Jedoch Beschriftungen auf der Karte nicht skaliert werden, wenn Sie ein-und Auszoomen der anzeigen.

So, ich habe versucht, hinzufügen einer overlay - (weil-overlays-Skala mit der Karte), mit der MKCircle Klasse und der Festlegung Ihrer Koordinaten auf die aktuellen Koordinaten von meinem locationManger/Karte anzeigen delegieren. Doch als der koordinieren Eigenschaft von MKCircle ist readonly, ich habe zum entfernen der overlay dann einen neuen hinzufügen, jedes mal, wenn sich der Benutzer bewegt. Was zu einer deutlichen flimmern, wie es geschieht.

Gibt es eine Möglichkeit, um eine Anmerkung Skala nahtlos wie die map-Ansicht skaliert in und out? Oder ist es ein guter Weg, um ein overlay nahtlos mit änderungen in der Benutzer-Standort?

Ich wäre für Eure Hilfe sehr dankbar 🙂

Kommentar zu dem Problem - Öffnen
Ich denke, ein custom-overlay und overlay-anzeigen ist, was Sie brauchen (das ist das, was @Flink zu sein scheint, impliziert). Jedoch ein Apple-Beispiel näher auf Ihre Forderung ist, LocationReminders app von der WWDC 2010. Wenn Sie ein registrierter Entwickler sind, können Sie finden es hier. Es Brauch zieht einen Kreis überlagern, deren Größe und position sich dynamisch ändern können. Kommentarautor: Anna
Danke für den link, klingt genau wie das Beispiel, das ich brauche. Plus ich bin ein registrierter Entwickler sind, also das ist praktisch 🙂 Kommentarautor: Jon Cox
Link ist kaputt, aber ich fand diese auf github: github.com/master-nevi/WWDC-2010/tree/master/LocationReminders Kommentarautor: foson

InformationsquelleAutor der Frage Jon Cox | 2012-01-29

Schreibe einen Kommentar