2013-03-16 43 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的意见,审查其子女即使命中边界之外。