2013-07-01 3 views
0

У меня возникают проблемы с максимальным уровнем масштабирования на MapView с использованием IOS6. Пользователь может увеличить масштаб, а плитки пустые.IOS6 Максимальный уровень масштабирования MKMapView

Быстрое исправление было сделать это:

- (void)mapView:(MKMapView *)theMapView regionDidChangeAnimated:(BOOL)animated { 
    if([theMapView zoomLevel] > 18) { 
     [theMapView setCenterCoordinate:[theMapView centerCoordinate] zoomLevel:18 animated:TRUE]; 
    } 
} 

и масштаб снова автоматически, но иногда это еще увеличивает масштаб слишком далеко и не удалять снова.

Думаю, мне нужно получить максимальный уровень масштабирования в текущем регионе, в котором я находиюсь, но, похоже, это нелегкий способ сделать это. Как вы, ребята, преодолели эту проблему?

ответ

0

исправление было бы сделать что-то вроде этого:

- (void)setRegionWithMaximumZoomLevel:(MKCoordinateRegion)region animated:(BOOL)animated 
{ 
    if ([self zoomLevelForRegion:region] > 17) 
    { 
     [self setCenterCoordinate:region.center zoomLevel:17 animated:TRUE]; 
    }else 
    { 
     [self setRegion:region animated:animated]; 
    } 
} 

- (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate 
        zoomLevel:(NSUInteger)zoomLevel 
        animated:(BOOL)animated 
{ 
    // clamp large numbers to 28 
    zoomLevel = MIN(zoomLevel, 17); 

    // use the zoom level to compute the region 
    MKCoordinateSpan span = [self coordinateSpanWithMapView:self centerCoordinate:centerCoordinate andZoomLevel:zoomLevel]; 
    MKCoordinateRegion region = MKCoordinateRegionMake(centerCoordinate, span); 

    // set the region like normal 
    [self setRegion:region animated:animated]; 
} 

Может быть, это не идеально, но это достаточно хорошо для того, что мне было нужно.

0

Я столкнулся с той же проблемой, что и вы, это ошибка iOS6.0, это сложно. У вашей программы не должно быть проблем с пустой плиткой в ​​iOS 5.0, надеюсь, что яблоко сможет ее исправить. MKMapView + ZoomLevel в gitHub - это хороший инструмент для масштабирования уровня масштабирования mapView, но вы также столкнетесь с некоторыми проблемами с пустой памятью. но, возможно, это может вам помочь: https://github.com/DeepFriedTwinkie/iOS6MapZoomIssue

Смежные вопросы