我已经实现了一个地图应用程序,其中我有当前位置的显示引脚动画。当我点击那时的引脚时,注释视图将打开。但我想展示 没有点击pin的注释视图。如果可能,那么请告诉我这个想法。
提前致谢。
答案 0 :(得分:4)
试试:
似乎[mapView selectAnnotation:annotation animated:YES]
也有效。
希望这有帮助。
答案 1 :(得分:2)
您只需要找到要选择的MKAnnotationView实例并调用-setSelected:animated:
即可。
例如,您可以循环播放MKMapView的注释:
for (YOURCLASSHERE *a in mapView.annotations) {
// Your current position (if shown) is an annotation as well. Thus check for the right class!
if ([a isKindOfClass:[YOURCLASSHERE class]]) {
// insert some smart if statement here, if you have multiple annotations!
[[mapView viewForAnnotation:a] setSelected:YES animated:YES];
}
}
YOURCLASSHERE是您的类,它实现了MKAnnotation
协议。
当然,如果您已经知道了annotationView,那么循环是多余的。
答案 2 :(得分:-2)
我们可以通过点击它来显示注释。使用以下代码:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
static NSString *identifier = @"Pin";
MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
pin.canShowCallout = YES;
[pin setSelected:YES animated:NO];
return [pin autorelease];
}