вызов метода с параметрами - PullRequest
0 голосов
/ 11 апреля 2011

Я использую инфраструктуру MapKit и хочу кое о чем вас спросить:

+ (NSUInteger)zoomLevelForMapRect:(MKMapRect)mRect withMapViewSizeInPixels:(CGSize)viewSizeInPixels
{
    NSUInteger zoomLevel = MAXIMUM_ZOOM; // MAXIMUM_ZOOM is 20 with MapKit
    MKZoomScale zoomScale = mRect.size.width / viewSizeInPixels.width; //MKZoomScale is just a CGFloat typedef
    double zoomExponent = log2(zoomScale);
    zoomLevel = (NSUInteger)(MAXIMUM_ZOOM - ceil(zoomExponent));
    return zoomLevel;
}

этот метод ... как узнать значение параметров mRect и viewSizeInPixels, чтобы иметь возможностьназови это??спасибо заранее:)

1 Ответ

1 голос
/ 11 апреля 2011

Текущий MKMapRect представления карты является свойством visibleMapRect, а размер представления будет в frame.size (поскольку MKMapView является подклассом UIView), поэтому метод будет вызываться с использованием чего-то вроде:

NSUInteger zoomLevel = [UtilityClass 
                           zoomLevelForMapRect:mapView.visibleMapRect 
                           withMapViewSizeInPixels:mapView.frame.size];

UtilityClass - это любой класс, в котором находится этот метод, и замените mapView на то, что на самом деле называется вашим представлением карты.

Кстати, справочник по MapKit Framework и Руководство по программированию осведомленности о местоположении заслуживают внимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...