For å sette opp en spørring til en ekstern server jeg ønsker å få rammene av gjeldende Kartvisning i en iPhone app Jeg bygger. UIView bør svare på sprang, men det virker MKMapView ikke. Etter at et område og zoome inn på kartet jeg prøve å få grensene. Jeg står fast på det første trinnet som er å prøve å få CGPoints som representerer SE og NW hjørner av kartet. Etter at jeg hadde tenkt å bruke:
- (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view
Å transformere punktene i kartkoordinater. Men jeg kan ikke engang kommer så langt ...
//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);
Koden kompilerer uten advarsler likevel se og nw er begge null. Ser på self.mapView.bounds.origin.x variabelen er 0. Prøver å NSLog direkte self.mapView.bounds.size.width gir meg en Program mottatt signal:‘EXC_BAD_ACCESS’. som synes å komme fra NSLog.
Noen som vet den riktige måten å få sørøstlige hjørnet og nordvestlige hjørnet (i kartkoordinater) fra det synlige området av en MKMapView?
EDIT: Det virker når du spurte noe her svaret kommer til deg rett etter. Jeg brukte% @ istedenfor @f å skrive ut hver variabel i NSLog som ble kastet feil der. Jeg har også oppdaget annotationVisibleRect eiendom MKMapview. Det virker som om at annotationVisibleRect er basert på overordnede vise koordinatene.














