2011-12-16 23 views
6

tôi đặt pin chú thích tùy chỉnh trong bản đồ trên nhấp chuột của chú tôi được kêu gọi phương pháp nàyChế độ xem bản đồ của Google làm cách nào để tôi có thể nhận được điểm hoặc khung gốc cho chú thích khi phóng to bản đồ?

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

trong phương pháp mà tôi muốn mở popover vì vậy tôi muốn dạng khung (MKAnnotationView *) xem tôi có được quyền khung thời gian bản đồ ở chế độ bình thường.

nhưng khi tôi phóng to bản đồ và nhấp vào chú thích tại thời điểm đó, giá trị x và y lớn, vì vậy bất kỳ giải pháp nào cho bất kỳ yếu tố bù trừ hoặc thu phóng nào tôi đều chia theo tôi nhận được khung chú thích thực tế.

+0

Hiện mã mà bạn có trong phương thức đó. – Anna

Trả lời

6

Hãy thử điều này:

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]; 
Các vấn đề liên quan