Я пытаюсь увидеть, если некоторые экстенты (max x, max y, min x, min y координат) Я нахожусь в текущем видном виде карты.Создание MKMapRect из координат и с помощью mapView.visibleMapRect
Я принимаю мои экстентов и создать MKMapRect
:
MKMapPoint upperLeft = MKMapPointForCoordinate(CLLocationCoordinate2DMake([boundary.extents.maxY floatValue], [boundary.extents.minY floatValue]));
MKMapPoint lowerLeft = MKMapPointForCoordinate(CLLocationCoordinate2DMake([boundary.extents.minY floatValue], [boundary.extents.minY floatValue]));
MKMapPoint upperRight = MKMapPointForCoordinate(CLLocationCoordinate2DMake([boundary.extents.maxY floatValue], [boundary.extents.maxY floatValue]));
MKMapRect mapRect = MKMapRectMake(upperLeft.x, upperLeft.y, fabs(upperLeft.x - upperRight.x), fabs(upperLeft.y - lowerLeft.y));
Теперь я хочу, чтобы проверить, если мой «mapRect» находится в mapView.visibleMapRect:
if (MKMapRectContainsRect(mapView.visibleMapRect, mapRect)) {
// do some stuff
}
Но мои экстентов никогда не содержали по mapView.visibleMapRect
, когда я знаю, что они должны быть.
Если я заменяю mapView.visibleMapRect
на MKMapRectWorld
, тогда он будет содержать карту моих экстентов 'mapRect'.
Я что-то не так? mapView.visibleMapRect
не то, что я думаю (видимая область на экране)?
my mapRect полностью содержится в 'mapView.visibleMapRect'. Когда я заменяю видимый с помощью worldMapRect, его там в видимой области. – Padin215