2012-12-12 11 views
8

utworzyć niestandardowe MKAnnoationView następująco:Pozycjonowanie zwyczaj MKAnnotationView

- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    static NSString* AnnotationIdentifier = @"AnnotationIdentifier"; 
    MKAnnotationView* customPinView = [[MKAnnotationView alloc] 
              initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier]; 

    UIImage *pinImage = [PowerPlantAnnotation getAnnotationImageForEnergySource:((PowerPlantAnnotation*)annotation).energySource]; 
    customPinView.image = pinImage; 
    return customPinView; 
} 

pojawia się obraz, który ma zostać umieszczony I mniej więcej we właściwym miejscu, ale nie całkiem. Mój obraz wygląda tak:

enter image description here

Chcę dolny punkt Tear Drop zwrócić do mojego adnotacji mapie współrzędnych, jak standardowych punktów widzenia pin do mapy współrzędnych. Jak mogę to zrobić? Obecnie wygląda nieco bardziej jak mój obraz jest wyśrodkowany na współrzędnej mapy.

Odpowiedz

13

Domyślnie centrum widoku adnotacji jest umieszczane we współrzędnych opisu. Aby dostosować pozycję widoku, należy ustawić jego właściwość centerOffset:

annotationView.centerOffset = CGPointMake(0.0f, -annotationViewHeight/2); 
+0

w tym przypadku. środek widoku jest wyrównany w dokładnej pozycji współrzędnych. Podstawa kołka powinna mieć współrzędne dla dokładności. – carbonr