1

如何始终在地图视图中显示标注?如果我们点击地图视图标注隐藏并再次点击其显示的图钉。我不想这样..,我需要总是显示标注,而不是隐藏。这个怎么做。请帮我。我正在使用下面的代码来显示标注。它不能正常工作。

[mapView selectAnnotation:addAnnotation animated:NO];
annotationView.canShowCallout   = YES;
4

2 回答 2

2

好吧,您可以通过使用delegate方法来做到这一点didDeselectAnnotationView,并在像这样取消选择时MKMapView选择相同的方法-annotation

- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
{
    [mapView selectAnnotation:view.annotation animated:FALSE];
}
于 2012-10-20T07:07:49.467 回答
0

The callout is shown when an MKAnnotationViewis selected and the view's canShowCalloutproperty is set to YES.

然后在MKAnnotationView取消选择时将其隐藏。这通过点击另一个注释视图或通过在当前选定的注释视图之外点击来实现。

作为MKMapView(conforming to MKMapViewDelegate) 的代表,您会在选择和取消选择注释视图时被告知,但为时已晚。

如果您不想取消选择注释视图,则应子类MKAnnotationView化并覆盖该setSelected:animated:方法并停止取消选择注释视图。

编辑:

如果您的代码中有此方法,请删除它

- (void)deselectAnnotation:(id < MKAnnotation >)annotation animated:(BOOL)animated
于 2012-10-20T07:00:33.087 回答