当点击注释地图位置不缩放

When tap on Annotation Map location is not zoomed

我在下面的代表中使用了这个,并在注释中设置了图像。点击注释时,不会调用其 didselectannotation 委托。但是当我使用默认值时,它就可以工作了。请建议是否有人可以在这方面提供帮助。

 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation

 static NSString *defaultPinID = @"Annotation";
    pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
    if ( pinView == nil )
       pinView = [[MKAnnotationView alloc]
                  initWithAnnotation:annotation reuseIdentifier:defaultPinID];

    UIImage *originalImage = [UIImage imageNamed:@"map.png"];
    pinView.canShowCallout = YES;
    pinView.image = [self drawImage:originalImage inRect:CGRectMake(0, 0, 106, 148)];
    pinView.calloutOffset = CGPointMake(0, -5);

    UIImageView *profileImageView = [[UIImageView alloc]init];
    profileImageView.frame = CGRectMake(6, 7, 40, 40);
    [profileImageView setImage:[UIImage imageNamed:@"user.png"]];
    [profileImageView setBackgroundColor:[UIColor whiteColor]];
    [self setRoundedAvatar:profileImageView toDiameter:40 atView:self.view];
    [pinView addSubview:profileImageView];

我已经使用 PinView 的 gestureRecognizer 完成了此操作。

UITapGestureRecognizer *tapLocation = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureRecognizerShouldBeginFocusMap:)];
    tapLocation.numberOfTapsRequired=1;
    [pinView addGestureRecognizer:tapLocation];

- (BOOL)gestureRecognizerShouldBeginFocusMap:(UIGestureRecognizer *)gestureRecognizer
 {

      MKMapRect visibleMapRect = self.mapView.visibleMapRect;
      NSSet *visibleAnnotations = [self.mapView annotationsInMapRect:visibleMapRect];

      for ( MyAnnotation *annotation in visibleAnnotations ){

          [self setCenterCoordinate:annotation.coordinate zoomLevel:18 animated:YES];

      }

      return YES;
}