我有带有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;
}
在这里,如果您将地标与此逻辑一起使用,则可能它起作用....希望,这对你有帮助...:)