目标C如何阻止用户与我当前位置图钉在地图上的交互

时间:2012-04-08 19:20:24

标签: iphone objective-c mkannotationview mapkit

如何阻止用户与我当前的位置信息交互?我有这样的问题:我的地图上有很多针脚,如果它们很接近并且它们位于“我当前的位置”引脚附近,那个引脚会点击我要阻止的点击事件。我不希望显示泡泡“当前位置”。 我知道这是* pinView.canShowCallout = NO;但我怎么知道我的位置是什么针? 感谢

2 个答案:

答案 0 :(得分:0)

这应该可以满足您的需求..

-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view{

if ([annotation isKindOfClass:[MKUserLocation class]]) {
    view.canShowCallout=NO;
    }
}

让我知道它是否有效.. :)

答案 1 :(得分:0)

这不起作用,因为你需要选择它至少一个来解决它,但是无论如何它还是非常有助于搜索起点:) 我用这段代码做了:

    - (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
    for(int i = 0; i< [views count]; i++)
    {
        if([[[[views objectAtIndex:i] class] description] isEqualToString:@"MKUserLocationView"])
        {
            ((MKAnnotationView*)[views objectAtIndex:i]).canShowCallout = NO;
        }
    }
}

你必须找到它并应用它。

你也需要这样说:

if ([annotation isKindOfClass:[MKUserLocation class]]) {
        [mapView viewForAnnotation:annotation].canShowCallout = NO;
        return [mapView viewForAnnotation:annotation];

    }

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