禁用在iPhone中显示/隐藏标题的MKPlacemark

时间:2012-05-08 04:52:02

标签: iphone objective-c mkmapview mkplacemark

我有带MKPlacemark的MKMapView。在显示地图时,我正在显示地标标记。 到目前为止,一切都很好。

我想在用户触摸时禁用隐藏标题。

我尝试添加

myMapView.userInteractionEnabled = NO;
myMapView.multipleTouchEnabled = NO;

这有帮助,但完全禁用与地图的互动。我希望能够放大/缩小并移动地图。

3 个答案:

答案 0 :(得分:0)

创建自定义注释,而不是创建PIN。在自定义注释中,使用要向用户显示的所有信息创建视图,并禁用位置标记。因此,您不会想要处理水龙头,但是您将显示附加到一个纬度/经度的所有静态/动态信息。

答案 1 :(得分:0)

以下代码完成了这个技巧

for (UIGestureRecognizer *g in [myMapView gestureRecognizers]) 
        [myMapView removeGestureRecognizer:g];

答案 2 :(得分:0)

在MapKit Delegate方法中尝试下面的代码

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

    static NSString *defaultPinID = @"com.invasivecode.pin";
    MKPinAnnotationView *pinView  = (MKPinAnnotationView *)[yourMapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
    pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
    if (annotation == yourMapview.userLocation)
        return nil;

    pinView.pinColor = MKPinAnnotationColorRed;

    pinView.userInteractionEnabled = NO;

    //pinView.canShowCallout = YES;
    pinView.animatesDrop = YES;

    return pinView;
}

这里如果你使用你的地标与这个逻辑可能它的工作.... 希望,这有助于你...... :)