gpt4 book ai didi

iphone - 如何检查 MKCoordinateRegion 中的 MKAnnotation 是否可用

转载 作者:可可西里 更新时间:2023-11-01 03:03:43 24 4
gpt4 key购买 nike

我注意到,如果我使用 MKMapView 的 selectAnnotation:animated:,如果 MKAnnotation 未显示在我的 map 显示的当前 MKCoordinateRegion 中,它会将我的 map 滚动到屏幕外。

是否有简单的方法来检查屏幕上当前是否有指定 MKCoordinateRegion 内的注释?我希望能够选择仅在屏幕上而不是屏幕外的注释。

最佳答案

MKMapView 中使用 annotationsInMapRect: 方法类(class)。它返回在给定 map 矩形中可见的所有注释对象的 NSSet。使用 NSSetcontainsObject: 方法来测试该批注是否存在于该组可见批注中。

MKMapRect visibleMapRect = aMapView.visibleMapRect;
NSSet *visibleAnnotations = [aMapView annotationsInMapRect:visibleMapRect];
BOOL annotationIsVisible = [visibleAnnotations containsObject:someAnnotation];

此外,visibleMapRect 与区域相同,只是表示形式不同。从文档中获取,

visibleMapRect

The area currently displayed by the map view.

@property(nonatomic) MKMapRect visibleMapRect

This property represents the same basic information as the region property but specified as a map rectangle instead of a region.

关于iphone - 如何检查 MKCoordinateRegion 中的 MKAnnotation 是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675702/

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