2011-12-16 13 views
6

i poner el pin de anotación personalizada en mapa en el clic de anotación me sale llamo para este métodoGoogle map view ¿Cómo puedo obtener el punto o marco original para la anotación mientras el zoom del mapa?

(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view NS_AVAILABLE(NA, 4_0) 

en ese método Quiero abrir popover así que quiero forma de marco (MKAnnotationView *) vista me sale marco de la derecha, mientras mapa en modo normal.

pero cuando acerco el mapa y hago clic en la anotación en ese momento obtengo el fotograma equivocado en ese momento, el valor xey es grande, así que cualquier solución para ese factor de compensación o zoom me divido según eso obtengo un cuadro de anotación real

+0

mostrará el código que tiene en ese método. – Anna

Respuesta

6

Prueba esto:

CGPoint annotationPoint = [mapView convertCoordinate:view.annotation.coordinate 
            toPointToView:mapView]; 
float boxDY = annotationPoint.y - 35; 
float boxDX = annotationPoint.x - 1; 
CGRect box = CGRectMake(boxDX, boxDY, 1, 1); 
[popoverControllerDetail presentPopoverFromRect:box 
             inView:mapView 
         permittedArrowDirections:(UIPopoverArrowDirectionDown| 
               UIPopoverArrowDirectionLeft| 
               UIPopoverArrowDirectionRight) 
             animated:YES]; 
Cuestiones relacionadas