Der Ursprung des regulären Anmerkungsstifts befindet sich in der Mitte des unteren Rands Der Stift zeigt also immer auf den gleichen Platz.
Aber wenn ich mein benutzerdefiniertes Bild hinzufüge, ist der Ursprung der Mittelpunkt des Bildes, also jeder Zoom in oder out, der untere Teil meines Bildes zeigt auf einen anderen Ort.
Hier soll meine Nadel auf die Mitte von Paris zeigen, ABER
Aber wenn ich heranzoome, zeigt die Unterseite meiner Nadel nicht in die Mitte von Paris.
Ich versuche mit dem CGRect.origin
, habe aber nichts nützliches bekommen.
Hier ist mein Code:
%Vor% MKAnnotationView
hat eine Eigenschaft centerOffset
, die Sie versuchen können, den Bild-Offset anzupassen:
Nicht verwandt, aber Sie sollten initWithAnnotation
anstelle von nur init
verwenden, um eine MKAnnotationView
zu erstellen.
Es würde auch nicht schaden, dequeueReusableAnnotationViewWithIdentifier
zu verwenden und die Wiederverwendung der Anmerkungsansicht zu implementieren, um die Leistung zu verbessern.
Ich würde auch vorschlagen, das Bild in der Delegate-Methode nicht programmgesteuert zu skalieren und stattdessen ein bereits skaliertes Bild zu verwenden. Dann können Sie einfach customPinView.image = [UIImage imageNamed:@"resizedWaterPin.png"];
ausführen, ohne die Größe der Annotationsbilder jedes Mal neu berechnen zu müssen.
Tags und Links ios mapkit mkannotationview