У меня есть несколько аннотаций, которые я хочу добавить в свой Mkmapview (это могло бы 0-N элементы, где n обычно составляет около 5). Я могу добавить аннотации нормально, но я хочу изменить размер карты, чтобы соответствовать всем аннотациям на экране одновременно, и я не уверен, как это сделать. Я выложу код, чтобы показать, что у меня есть до сих пор. Я думаю, что это должно быть в целом простой задачей, но я чувствую себя немного ошеломленным Mapkit. < /P>
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
location = newLocation.coordinate;
//One location is obtained.. just zoom to that location
MKCoordinateRegion region;
region.center = location;
//Set Zoom level using Span
MKCoordinateSpan span;
span.latitudeDelta = 0.015;
span.longitudeDelta = 0.015;
region.span = span;
// Set the region here... but I want this to be a dynamic size
// Obviously this should be set after I've added my annotations
[mapView setRegion:region animated:YES];
// Test data, using these as annotations for now
NSArray *arr = [NSArray arrayWithObjects:@"one", @"two", @"three", @"four", nil];
float ex = 0.01;
for (NSString *s in arr) {
JBAnnotation *placemark = [[JBAnnotation alloc] initWithLat:(location.latitude + ex) lon:location.longitude];
[mapView addAnnotation:placemark];
ex = ex + 0.005;
}
// What do I do here?
[mapView setRegion:[mapView regionThatFits:region] animated:YES];
}
< /code>
Уведомление, все это происходит, когда я получаю обновление местоположения ... Я не знаю, является ли это подходящим местом для этого. Если нет, где бы было лучше? -viewDidload
У меня есть несколько аннотаций, которые я хочу добавить в свой Mkmapview (это могло бы 0-N элементы, где n обычно составляет около 5). Я могу добавить аннотации нормально, но я хочу изменить размер карты, чтобы соответствовать всем аннотациям на экране одновременно, и я не уверен, как это сделать. Я выложу код, чтобы показать, что у меня есть до сих пор. Я думаю, что это должно быть в целом простой задачей, но я чувствую себя немного ошеломленным Mapkit. < /P> [code]- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
location = newLocation.coordinate; //One location is obtained.. just zoom to that location
//Set Zoom level using Span MKCoordinateSpan span; span.latitudeDelta = 0.015; span.longitudeDelta = 0.015; region.span = span; // Set the region here... but I want this to be a dynamic size // Obviously this should be set after I've added my annotations [mapView setRegion:region animated:YES];
// Test data, using these as annotations for now NSArray *arr = [NSArray arrayWithObjects:@"one", @"two", @"three", @"four", nil]; float ex = 0.01; for (NSString *s in arr) { JBAnnotation *placemark = [[JBAnnotation alloc] initWithLat:(location.latitude + ex) lon:location.longitude]; [mapView addAnnotation:placemark]; ex = ex + 0.005; } // What do I do here? [mapView setRegion:[mapView regionThatFits:region] animated:YES]; } < /code> Уведомление, все это происходит, когда я получаю обновление местоположения ... Я не знаю, является ли это подходящим местом для этого. Если нет, где бы было лучше? -viewDidload [/code]?