Чтобы настроить запрос к внешнему серверу, я хочу получить границы текущего представления карты в приложении для iPhone, которое я создаю. UIView должен реагировать на границы, но MKMapView, похоже, этого не делает. После установки региона и увеличения масштаба карты я пытаюсь получить границы. Я застрял на первом шаге, который состоит в том, чтобы попытаться получить CGPoints, которые представляют углы SE и NW карты. После этого я собирался использовать:
- (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view
Для преобразования точек в координаты карты. Но я даже не могу зайти так далеко ...
//Recenter and zoom map in on search location
MKCoordinateRegion region = {{0.0f, 0.0f}, {0.0f, 0.0f}};
region.center = mySearchLocation.searchLocation.coordinate;
region.span.longitudeDelta = 0.01f;
region.span.latitudeDelta = 0.01f;
[self.mapView setRegion:region animated:YES];
//After the new search location has been added to the map, and the map zoomed, we need to update the search bounds
//First we need to calculate the corners of the map
CGPoint se = CGPointMake(self.mapView.bounds.origin.x, mapView.bounds.origin.y);
CGPoint nw = CGPointMake((self.mapView.bounds.origin.x + mapView.bounds.size.width), (mapView.bounds.origin.y + mapView.bounds.size.height));
NSLog(@"points are: se %@, nw %@", se, nw);
Код компилируется без предупреждений, однако se и nw равны нулю. Глядя на self.mapView.bounds.origin.x, переменная равна 0. Попытка непосредственного NSLog self.mapView.bounds.size.width дает мне «Программа получила сигнал:« EXC_BAD_ACCESS »». который, кажется, исходит от NSLog.
Кто-нибудь знает правильный способ получения юго-восточного угла и северо-западного угла (в координатах карты) из видимой области MKMapView?
РЕДАКТИРОВАТЬ: Кажется, всякий раз, когда вы спрашиваете здесь, ответ приходит к вам сразу после. Я использовал% @ вместо @f для печати каждой переменной в NSLog, которая выдавала ошибки там. Я также обнаружил свойство annotationVisibleRect в MKMapview. Однако создается впечатление, что annotationVisibleRect основан на координатах родительского представления.