0

我有 MKMapView 和 MKPlacemark 就可以了。显示地图时,我正在显示地标的标题。到目前为止一切都很好。

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

我试图添加

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

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

4

3 回答 3

0

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

于 2012-05-08T05:29:06.540 回答
0

以下代码成功了

for (UIGestureRecognizer *g in [myMapView gestureRecognizers]) 
        [myMapView removeGestureRecognizer:g];
于 2012-05-12T10:59:23.823 回答
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;
}

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

于 2012-05-12T11:10:54.207 回答