2016-07-18 10 views
1

Meine App nimmt Benutzerberechtigungen und verschiebt die Karte an den Speicherort. Und an dieser Position standardmäßig MapKit fügen Sie ein blaues Symbol hinzu, das einen Impuls erzeugt.
Ich habe gesucht, aber ich habe gefunden, wie man einen 1000m-Kreis um userLocation hinzufügt. Ich will das nicht. Sie können sagen, dass ich die userLocation Standard annotation anpassen möchte. Der blaue Impuls, den es erzeugt, möchte ich das radius erhöhen. Und wenn dieser blaue Puls eine benutzerdefinierte annotation trifft, sollte eine Methode ausgelöst werden. Wie kann man das erreichen?So erhöhen Sie den Radius von userLocation-Annotation in Mapkit

Antwort

1

Leider können Sie das Verhalten der Standardannotation nicht einfach ändern; Sie müssen die Anzeige der Anmerkungsansicht selbst übernehmen.

Der Benutzerstandort ist eine Kartenannotation vom Typ MKUserLocation. Wenn Sie die MKMapViewDelegate Methode viewForAnnotation implementieren und die Karte den Standort des Benutzers anzeigt, wird die Delegate-Methode mit einer Instanz MKUserLocation aufgerufen. Sie müssen entweder nil zurückgeben. In diesem Fall wird die Standardanmerkungsansicht angezeigt oder zurückgegeben Instanz von MKAnnotationView, die stattdessen angezeigt wird.

können Sie Code so etwas wie:

- (MKAnnotationView *)mapView:(MKMapView *)mapView 
     viewForAnnotation:(id<MKAnnotation>)annotation { 
    if ([annotation isKindOfClass:[MKUserLocation class]]) { 
     return [[MyPulsingViewAnnotation alloc] initWithUserLocation:annotation]; 
    } 

    return nil; 
} 

Wie für einige Animation durchzuführen, wenn die ‚Puls‘ schneidet eine andere Anmerkung, müssen Sie die anderen Anmerkung Stellen zu Ihrer pulsierenden Ansicht passieren und die Koordinaten überprüfen, wenn Sie Führe die Animation aus.

+0

Haben Sie das persönlich gemacht? Klingt wie ein Hack. Apple lässt uns das jedes Mal machen ... – denis631

+0

Warum ist es ein "Hack"? Es gibt keine Möglichkeit, das Erscheinungsbild der Standardannotation zu ändern. Entweder möchten Sie Apples Standardanmerkungsansicht oder Sie möchten etwas anderes. Wenn Sie etwas anderes möchten, müssen Sie Ihre eigene Ansicht bereitstellen. – Paulw11

+0

alles, was ich will, ist nur, um den Radius der Benutzerstandort Annotation Kreis zu erhöhen, aber ich kann das nicht tun, also muss ich mein eigenes Overlay erstellen, daher ein Hack. – denis631

Verwandte Themen