Уровень масштабирования областей MapView отличается в IOS 6

У меня есть приложение, которое использует MapKit для компоновки карты с аннотациями. У меня есть метод, который создает MKCoordinateRegion, который я назначаю setRegion, чтобы соответствующим образом настроить уровень масштабирования карты. Но уровень масштабирования в IOS 6 ниже, чем в IOS 5. Когда я запускаю IOS 5, аннотации располагаются хорошо, но в IOS 6 они выходят прямо к краям. Если я увеличу коэффициент масштабирования, я смогу получить правильное расстояние в IOS 6, но тогда в IOS 5 все они будут стиснуты посередине.

- (MKCoordinateRegion)calculateRegion
{
    MKCoordinateRegion region;

    double scaleValue = 1.5

    //set an initial value for coordinates from any annotation
    MyAnnotation *annotation = [self.annotations lastObject];
    CLLocationCoordinate2D max = annotation.coordinate;
    CLLocationCoordinate2D min = max;
    double latitude, longitude;

    for (MyAnnotation *annotation in self.annotations) {
        latitude = annotation.coordinate.latitude;
        longitude = annotation.coordinate.longitude;
        if (latitude > max.latitude) max.latitude = latitude;
        else if (latitude < min.latitude) min.latitude = latitude;
        if (longitude > max.longitude) max.longitude = longitude;
        else if (longitude < min.longitude) min.longitude = longitude;
    }

    // set the center of the mapview
    region.center.latitude = (max.latitude + min.latitude) / 2;
    region.center.longitude = (max.longitude + min.longitude) / 2;

    // set the span to be larger than the max values to add some padding around pins
    region.span.latitudeDelta = (max.latitude - min.latitude) * scaleValue;
    region.span.longitudeDelta = (max.longitude - min.longitude) * scaleValue;

    MKCoordinateRegion regionThatFits = [self.mapView regionThatFits:region];
    region = regionThatFits;

return region;
}

Установка масштабного коэффициента выше 2.0 хорошо работает для IOS 6, а 1.3 хорошо работает для IOS 5. Странно то, что симулятор IOS 6 отображает аннотации так же, как и в IOS 5. Это только на iPhone 4S, который я использую для тестирования. что он отображается неправильно. Есть ли что-то, что изменилось в IOS 6, что повлияет на уровень масштабирования?


person Bob    schedule 01.01.2013    source источник


Ответы (2)


Да, они изменили максимальный уровень масштабирования в iOS 6. Я слышал, что если вы загрузите Xcode 4.6 DP1, полученная сборка сделает их ближе к одному (между iOS 5 и iOS 6).

person Bejmax    schedule 01.01.2013

Я обнаружил, что уровень масштабирования улучшился в симуляторе с Xcode 4.6.1, но все еще ограничен на реальных устройствах iOS 6. Так было до тех пор, пока я не обновил эти устройства до iOS 6.1.3, теперь масштабирование, кажется, возвращается к уровням iOS 6.

person user2208879    schedule 25.03.2013