Используйте метод annotationsInMapRect:
в классе MKMapView
. Он возвращает NSSet
всех объектов аннотации, которые видны в данном прямоугольнике карты. Используйте containsObject:
метод NSSet
, чтобы проверить, присутствует ли аннотация в этом наборе видимых аннотаций.
MKMapRect visibleMapRect = aMapView.visibleMapRect;
NSSet *visibleAnnotations = [aMapView annotationsInMapRect:visibleMapRect];
BOOL annotationIsVisible = [visibleAnnotations containsObject:someAnnotation];
Также visibleMapRect
- это то же самое, что и регион, но просто другая форма представления. Возьмите из документов,
visibleMapRect
Область, отображаемая в данный момент на карте.
@property(nonatomic) MKMapRect visibleMapRect
Это свойство представляет ту же основную информацию, что и свойство региона, но указывается в виде прямоугольника карты вместо региона.