2013-03-16 39 views
0

觸摸我如何能夠檢測MKOverlay或MKPolyline視圖觸摸事件?我試過this並在MKPolylineView上添加了tapgesture,但沒有成功。檢測上MKOverlay

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay 
     MKPolyline *mapPoly = (MKPolyline *)overlay; 

       MKPolylineView *_ucPolyView = [[MKPolylineView alloc] initWithPolyline:mapPoly]; 

       _ucPolyView.strokeColor = [UIColor redColor]; 

    [_ucPolyView setUserInteractionEnabled:YES]; 
     UITapGestureRecognizer *polylineTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(polylineTapped:)]; 
      polylineTap.numberOfTapsRequired = 1; 
      [_ucPolyView addGestureRecognizer:polylineTap]; 

} 


-(void)polylineTapped:(UITapGestureRecognizer *)tapGesture 
{ 
    NSLog(@"Polyline is %@",tapGesture.view); 
} 

但polylineTapped方法沒有被激發。我希望獲得的所有內容都是當用戶點擊該多段線時顯示一個顯示多段線細節的彈出視圖。

回答

0

我有同樣的問題,並得出這樣的MKMapView吃那會傳播到孩子的意見,如MKOverlayView的所有事件的結論。我假設的MKMapView需要有觸摸事件的總控制,以做捏和縮放等

0

您必須修改則hitTest的意見,審查其子女即使命中邊界之外。