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



我有带有MKPlacemark的MKMapView。显示地图时,我显示的是地点标记的标题。直到现在一切都很好。

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

我试图添加

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

这有帮助,但完全禁用与地图的交互。我想留下放大/缩小和移动地图的可能性。

不要创建 PIN,而是创建自定义注释。在自定义批注中,创建包含要向用户显示的所有信息的视图,并禁用地标。这样,您就不应该处理水龙头,但将显示附加到一个纬度/经度的所有静态/动态信息。

以下代码成功

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

在 MapKit 委托方法中尝试以下代码

- (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;
}

在这里,如果您将地标与此逻辑一起使用,则可能它起作用....希望,这对你有帮助...:)

相关内容

  • 没有找到相关文章

最新更新