Wie fügen Sie Anmerkungen zur Mitte der map-Ansicht im iPhone?
Habe ich die Kartenansicht in meine app, und ich möchte hinzufügen, Anmerkung pin (Roter pin) auf Mitte der Karte anzeigen.
Nun, wenn der Benutzer einen Bildlauf Kartenansicht pin sollte passen mit dem center, dass nach.
Wie das geht?
Danke
- Es heißt, Sie verändern die position der Nadel durch ändern der center.
- Zeeshan - ja, wenn der Benutzer einen Bildlauf der Karte den roten Stift(annotation) sollte sich ändern, anpassen, mit dem neuen center der Kartenansicht ist sichtbar für Benutzer.
- versuchen Sie, den Kommentar zu der Mitte der Karte
- Ich denke, Sie sollten versuchen, fügen Sie den Stift wie eine Untersicht in der Mitte der mapView.
- ya aber dann wie bekomm ich das koordinieren der Karte?
- Genau das was ich gesucht.. thx für die Fragen =)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen verwenden Sie eine aktuelle Anmerkung, anstatt nur eine normale Ansicht positioniert über der Mitte der map-Ansicht können Sie:
MKPointAnnotation
- Klasse, zB). Dadurch wird vermieden, entfernen und hinzufügen der annotation, wenn der center verpasst.regionDidChangeAnimated
delegate-Methode (stellen Sie sicher, map view delegate-Eigenschaft ist eingestellt)Beispiel:
Nun damit verschieben Sie die Anmerkung, aber nicht reibungslos. Wenn Sie die annotation zu bewegen mehr reibungslos, können Sie ein
UIPanGestureRecognizer
undUIPinchGestureRecognizer
auf der Karte anzeigen lassen und das update auch die Anmerkung in der Geste handler:Annas Antwort ist kluge Vorgehensweise zu halten, eine Anmerkung in die Mitte der Karte über die Anmerkungen in der standard-Kartenansicht Weg. Doch wie ein Kommentator wies darauf hin, das scrollen und kneifen, während, viel besser noch zeigt merkliche Verzögerung, und die empfohlene Vorgehensweise wäre, den annotation-Ansicht als unteransicht der mapview. Hier ist, wie das aussieht.
Wirklich das einzig interessante, was nicht ist, dass Sie zum Ausgleich der MKPinAnnotationView durch einen bestimmten Betrag zu berücksichtigen, den Abstand zwischen der linken unteren Ecke und der pin-Kopf. Ich mag nicht, dass diese asset-abhängigen Konstanten im code, so dass, wenn jemand kann einen besseren Weg finden, das zu tun, bin ich alle Ohren.
Erstellt habe ich ein github-Projekt mit einer Karte-controller, der tut das, weil auch einige andere Dinge im Zusammenhang mit Verwendung von einer mapview zu haben, die ein Benutzer wählen Sie einen Speicherort. Check it out hier: https://github.com/scottrhoyt/CenterPinMapViewController
Swift version
In der Klasse:
In viewDidLoad:
In viewDidAppear:
Dann:
Für die Verwendung ändern Sie in der Lage, hinzufügen, delegieren
CLLocationManagerDelegate
und dann: