Ändern Sie den Bildursprung der Kartenanmerkungsansicht?

8

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%     
AMTourky 21.11.2012, 11:23
quelle

1 Antwort

13

MKAnnotationView hat eine Eigenschaft centerOffset , die Sie versuchen können, den Bild-Offset anzupassen:

%Vor%


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.

    
Anna 21.11.2012, 14:28
quelle

Tags und Links