gpt4 book ai didi

iphone - MapKit多个引脚相同坐标,不同信息选择

转载 作者:行者123 更新时间:2023-12-03 19:19:24 26 4
gpt4 key购买 nike

我有以下情况:- 3 个具有相同坐标但标题和信息不同的图钉- map 上只有一个图钉

可以多次点击该引脚,注释将显示为:- 第一次点击 -> 引脚 1 的注释- 第二次点击 -> 引脚 2 的注释- 第三次点击 -> 引脚 3 的注释- 第四次点击 -> 引脚 1 的注释

你有什么想法我应该如何实现它吗?

最佳答案

您可以实现 didSelectAnnotationView 委托(delegate)方法,并根据上次“正确”选择自行选择“正确”注释。

如果 map 上有这些注释,并且其中一组,那么您可以保留一个int ivar来记住什么最后选择的注释是并在委托(delegate)方法中递增它。

例如:

// 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 int 数组,并在方法中,首先确定选择了哪个簇,并获取该簇中要选择的下一个注释。

关于iphone - MapKit多个引脚相同坐标,不同信息选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com