gpt4 book ai didi

iphone - 如何显示来自 MKAnnotationView 的多个标注?

转载 作者:太空狗 更新时间:2023-10-30 03:44:19 25 4
gpt4 key购买 nike

我喜欢实现某事。像这样。我有两个带有标注的注释,但 MKMapView 只允许同时选择一个。

[mapView selectAnnotation:self.firstAnnotation animated:FALSE];
[mapView selectAnnotation:self.secondAnnotation animated:FALSE];

当我选择另一个注释时,第一个注释会自动取消选择。

但是在下图中,实现成功了。那么如何做到这一点呢? http://oi52.tinypic.com/14t3t09.jpg

最佳答案

另请参阅“MKMapView 中显示的多个注释标注”: Multiple annotation callouts displaying in MKMapView

该框架似乎不支持多选,因此您必须为此行为实现自定义标注。链接问题的答案建议将标注作为注释 View 的一部分,以便您可以自己管理选择。就我个人而言,我喜欢将标注实现为单独的注释 - 我在这里有一个带有自定义标注的示例项目:

https://github.com/jacobjennings/JJMapCallout

这是我的解决方案:

MKAnnotationView - Lock custom annotation view to pin on location updates

在这个项目中,我转发了 MKMapView 委托(delegate)方法

- (void)mapView:(MKMapView *)aMapView didSelectAnnotationView:(MKAnnotationView *)aView
- (void)mapView:(MKMapView *)aMapView didDeselectAnnotationView:(MKAnnotationView *)aView

到相应的注释。这使我能够实现预期的标注行为。但是,您可以忽略 didDeselectAnnotationView 消息以使标注可见。

要了解用户是否在 map 上点击以清除注释(没有点击图钉),请检查 didDeselectAnnotationView 方法中 mapView.selectedAnnotations 的值,如果它为空,您就会知道要清除您的标注。

关于iphone - 如何显示来自 MKAnnotationView 的多个标注?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792992/

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