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
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.
- 1. Berechnen Sie den Radius in Metern mit Mapkit
- 2. So erhöhen Sie den Zugriffsmodifikator einer Eigenschaft
- 3. So erhöhen Sie den Heapspeicher für Wildfly
- 4. So erhöhen Sie den Festplattenspeicher von Thin Provisioning vm
- 5. So verfolgen Sie die Benutzerposition mit MapKit
- 6. So erhöhen Sie die Schriftgröße von Etikettennamen
- 7. So erhöhen Sie das Timeout in CasperJS
- 8. So zeigen Sie offline Karte in iPhone mit Mapkit
- 9. So erhöhen Sie einen Zähler in SQLAlchemy
- 10. So erhöhen Sie den Rotationswinkel mit Unity mit Quaternion
- 11. So erhöhen Sie den Azure ACS-Anmelde-Timeout
- 12. So erhöhen Sie die Schriftgröße von ggtitle in ggplot2
- 13. So erhöhen Sie die maximale Audio-Ausgangsleistung
- 14. So erhalten Sie den Längen- und Breitengrad der Karte in MapKit:
- 15. Berechnen Sie den Abstand zwischen Längen- und Breitengrad mit MapKit
- 16. Erhöhen Sie den anklickbaren Bereich der Schaltfläche
- 17. erhöhen Sie den Speicher für die Anwendung
- 18. Erhöhen Sie den int-Wert eines Ganzzahlwerts?
- 19. So erhöhen Sie Dateinamen in PHP, um Duplikate zu verhindern
- 20. MapKit Overlay erscheint nicht
- 21. Speicherleck in MapKit iOS8
- 22. So erhöhen/verringern Sie die Schriftgröße in Dojo DataGrid
- 23. So erhöhen Sie die Anzahl der parallelen Aufgaben in C#
- 24. So erhöhen Sie die Seitenleistung in Asp.net C#
- 25. So erhöhen Sie die Höhe der Tableiste in ios
- 26. iPhone MapKit: Zugänglichkeit von Anmerkungen
- 27. MapKit Standardzoom
- 28. Koordinatenformat für Mapkit
- 29. Finden Sie den Punkt mit Radius und Winkel
- 30. Ermitteln der Entfernung mit Mapkit
Haben Sie das persönlich gemacht? Klingt wie ein Hack. Apple lässt uns das jedes Mal machen ... – denis631
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
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