1

我想从地理编码器值向 NSMutableArray 添加纬度和经度值,但图像中出现错误。

-(void) loadDataArray:(NSString *) text{

CLGeocoder *geocoder = [[CLGeocoder alloc] init];

[geocoder geocodeAddressString:[NSString stringWithFormat:@"%@",text] completionHandler:^(NSArray* placemarks, NSError* error){


    for (CLPlacemark* aPlacemark in placemarks)
    {
        NSLog(@"aPlace: %@",aPlacemark.country);
        NSLog(@"MyPlace: %@",userCountry);
        //if ([aPlacemark.country isEqual:userCountry]) {

            [dataArray addObject:aPlacemark];
        //NSNumber *lat = [NSNumber numberWithDouble:aPlacemark.location.coordinate.latitude];
        //NSNumber *lon= [NSNumber numberWithDouble:aPlacemark.location.coordinate.longitude];


        [dataArrayLat addObject:aPlacemark.location.coordinate.latitude];
        [dataArrayLon addObject:aPlacemark.location.coordinate.longitude];

            //NSLog(@" %@",lat);
        //}
        //else{
          //  NSLog(@"Bulunamadı");

        //}

    }
    [searchTable reloadData];
}];

}

在此处输入图像描述

感谢回复。

编辑

我想用于搜索位置并显示 tableview。我选择 tableview 项目,然后在 Apple Map 上显示位置。

4

1 回答 1

1

您正在尝试将原语添加到 an NSMutableArray,但它只会保存对象。

最快的解决方法是将您的CLLocationDegrees (只是 a double)包装在 an 中NSNumber,如下所示:

[dataArrayLat addObject:@(aPlacemark.location.coordinate.latitude)];
[dataArrayLon addObject:@(aPlacemark.location.coordinate.longitude)];

但请记住,如果您想double再次访问,则必须稍后解开该值。你会这样做:

NSNumber *num = dataArrayLat[someIndex];
double latitude = num.doubleValue;
于 2015-01-10T14:13:27.493 回答