我有以下情况: - 3引脚与坐标相同,但不同的标题和信息 - 在地图上有ONY一个引脚MapKit多个引脚坐标相同,不同的信息选择
它可以挖掘多次在该引脚上,注释显示为: - 第一次点击 - >引脚1的注释 - 第二次点击 - >引脚2的注释 - 第三次点击 - >引脚3的注释 - 第四次点击 - >针脚1的注释
您有什么想法应该如何实现它吗?
我有以下情况: - 3引脚与坐标相同,但不同的标题和信息 - 在地图上有ONY一个引脚MapKit多个引脚坐标相同,不同的信息选择
它可以挖掘多次在该引脚上,注释显示为: - 第一次点击 - >引脚1的注释 - 第二次点击 - >引脚2的注释 - 第三次点击 - >引脚3的注释 - 第四次点击 - >针脚1的注释
您有什么想法应该如何实现它吗?
您可以实施didSelectAnnotationView
委托方法,并根据上次“正确”选择的内容选择“正确”注释。
如果你只有在地图上和这些注释只有其中之一集群,那么你就可以保持一个int
伊娃说会记住最后一次选择的注释是在委托方法增加它。
例如:
// In .h
int lastAnnotationSelected;
// In .m
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
int nextAnnotationToSelect = (lastAnnotationSelected + 1)
% mapView.annotations.count;
id<MKAnnotation> nextAnnotation =
[mapView.annotations objectAtIndex:nextAnnotationToSelect];
[mapView selectAnnotation:nextAnnotation animated:YES];
lastAnnotationSelected = nextAnnotationToSelect;
}
如果您还showsUserLocation
打开,那么你就必须要在方法中添加的支票MKUserLocation
并跳过它(如果你愿意的话),并进入下一个群集中的注释。另外,如果你有多个批注集群(坐标为A的坐标为3,坐标为B的坐标为5,坐标为C的坐标为4等),那么你需要跟踪一个lastAnnotationSelected的数组和数组中的方法,首先确定选择了哪个群集并获取要在该群集中选择的下一个注释。
您现在解释它的工作方式 - 点击多次循环浏览标注 - 但不是您希望如何工作。很难理解你在问什么。 –
如果在地图上以相同的坐标放置3个或更多针脚,当我点击多次时,只有其中2个显示在该泡泡标注中。所以,在这种情况下,我想显示3个或更多不同的标注信息。 – dorin
Nevan可以请你提供一些建议吗? – dorin