如何在MapKit中获得可见的覆盖? (即来自Mapkit Ivew的MKOverlay / MKOverlayRender)

如何从MapkitView获取当前可见覆盖的列表(数组)?

背景 – 例如,我想在我的mapkitview上显示方向箭头到某些Overlaytypes的中心,但是如何获得可见的? 似乎没有办法做到这一点,我可以看到? 所以我需要通过所有的覆盖(实际上〜8000),并做我自己的检查,看看会显示在屏幕上? 如果MapKit已经有效地做到了这一点,那么看起来是浪费,因为它决定了在给定的时间内需要显示哪些叠加层。

我一直在修补一些类似的问题,我可以找出最有效的方法是添加覆盖作为注释,因为MKOverlay实现MKAnnotation 。 那么你可以使用annotationsInMapRect作为当前显示的mapRect。 但是,这也将返回任何常规的MKAnnotations,并只使用计算的覆盖中间。 唯一的方法(就目前为止我所知道的)只有覆盖层才会迭代每个覆盖层并使用:

 -(BOOL)intersectsMapRect:(MKMapRect)mapRect; 

在当前可见的mapRect上。 如果你find另一种方式,我会很高兴听到!