xcode ios target-c mkmapview: сравнить диапазон MKMapView - PullRequest
0 голосов
/ 04 июля 2011

Как я могу сравнить текущий диапазон MKMapView?Я использую следующий код:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{
    if ([[regionsMapView.region.span] doubleValue] < 1.0) {
        NSLog(@"SHOW ANNOTATIONS");
    }else {
        NSLog(@"HIDE ANNOTATIONS");
    }
}

Но он показывает ошибку, как это:

error: expected ':' before ']' token
confused by earlier errors, bailing out

И снова, если я использую, как показано ниже:

if (regionsMapView.region.span < 1.0) {
    NSLog(@"SHOW ANNOTATIONS");
}else {
    NSLog(@"HIDE ANNOTATIONS");
}

Тогдаэто также показывает ошибку как ниже:

error: invalid operands to binary < (have 'MKCoordinateSpan' and 'double')

Ответы [ 2 ]

2 голосов
/ 04 июля 2011

MKCoordinateSpan - это struct , которая имеет два значения latitudeDelta и longitudeDelta , которая выглядит следующим образом:

typedef struct {

    CLLocationDegrees latitudeDelta;
    CLLocationDegrees longitudeDelta;

} MKCoordinateSpan;

Если вы хотите сравнить любое из этих значений. Вы должны использовать,

if (regionsMapView.region.span.latitudeDelta < 1.0)

или

if (regionsMapView.region.span.longitureDelta < 1.0)
0 голосов
/ 04 июля 2011

удалить [] из [regionsMapView.region.span]

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