Задача C: получение «недопустимой ошибки инициализатора» при установке местоположения CLLocationCoordinate2D - PullRequest
0 голосов
/ 09 мая 2011

Я пытаюсь найти и установить местоположение, как показано ниже, но я получаю сообщение об ошибке «Неверный инициализатор»

CLLocationCoordinate2D location =[self.mapView addressLocation];

Где метод addressLocation, как показано ниже

-(CLLocationCoordinate2D) addressLocation {
    NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", 
                       [searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    //NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
    NSError* error;
    NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSASCIIStringEncoding error:&error];
    NSArray *listItems = [locationString componentsSeparatedByString:@","];

    double latitude = 0.0;
    double longitude = 0.0;

    if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
        latitude = [[listItems objectAtIndex:2] doubleValue];
        longitude = [[listItems objectAtIndex:3] doubleValue];
    }
    else {
        //Show error
    }
    CLLocationCoordinate2D location;
    location.latitude = latitude;
    location.longitude = longitude;

    return location;
}

Можете ли вы посоветовать, почему я получаю ошибку 'Invalid initializer'? Я уже импортировал структуру расположения ядра, а также импортировал файлы заголовков. Так что не уверен, что не так.

1 Ответ

2 голосов
/ 09 мая 2011

Вы вызываете [self.mapView addressLocation]. Разве это не должно быть [self addressLocation]? Я предполагаю, что mapView - это MKMapView в вашем классе, и у него нет addressLocation метода.

...