W celu konfiguracji zapytanie do serwera zewnętrznego chcę uzyskać granice bieżącego widoku mapy w aplikacji iPhone buduję. UIView powinny reagować na granicach, ale wydaje MKMapView nie. Po ustawieniu regionu i powiększanie mapy Staram się granice. Utknąłem na pierwszym etapie, który ma postarać się CGPoints reprezentujące narożniki SE i NW na mapie. Po tym miałem zamiar użyć:
- (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view
Do przekształcenia współrzędnych punktów na mapie. Ale nie mogę nawet tak daleko ...
//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);
Kod kompiluje bez ostrzeżenia jednak SE i NW są zarówno wartość null. Patrząc na self.mapView.bounds.origin.x zmienna jest 0. Próba NSLog bezpośrednio self.mapView.bounds.size.width daje mi „Program odbierany sygnał:«EXC_BAD_ACCESS».” który wydaje się pochodzić z NSLog.
Ktoś zna właściwą drogę do zdobycia południowo-wschodnim rogu i północno-zachodnim rogu (współrzędne na mapie) od widocznego obszaru w MKMapView?
EDIT: Wydaje się, gdy pytasz coś tu odpowiedź przychodzi do was zaraz po. Używałem% @ zamiast @n wydrukować każdą zmienną w NSLog który rzuca tam błędy. Odkryłem również właściwość annotationVisibleRect z MKMapview. Wydaje się jednak, że annotationVisibleRect opiera się na współrzędnych widoku rodzica.














