如何从地理编码器值将纬度和经度值添加到 nsmutablearray?
how to add Latitude and longitude value to nsmutablearray from geocoder values?
我想从地理编码器值向 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.I select tableview 项目,然后在 Apple Map 上显示位置。
您正在尝试向 NSMutableArray
添加基元,但它只会容纳对象。
最快的解决方法是将您的 CLLocationDegrees
值 (这只是一个 double
)包裹在一个 NSNumber
中,就像这样:
[dataArrayLat addObject:@(aPlacemark.location.coordinate.latitude)];
[dataArrayLon addObject:@(aPlacemark.location.coordinate.longitude)];
不过请记住,如果您想再次访问 double
,您必须稍后解包该值。你会这样做:
NSNumber *num = dataArrayLat[someIndex];
double latitude = num.doubleValue;
我想从地理编码器值向 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.I select tableview 项目,然后在 Apple Map 上显示位置。
您正在尝试向 NSMutableArray
添加基元,但它只会容纳对象。
最快的解决方法是将您的 CLLocationDegrees
值 (这只是一个 double
)包裹在一个 NSNumber
中,就像这样:
[dataArrayLat addObject:@(aPlacemark.location.coordinate.latitude)];
[dataArrayLon addObject:@(aPlacemark.location.coordinate.longitude)];
不过请记住,如果您想再次访问 double
,您必须稍后解包该值。你会这样做:
NSNumber *num = dataArrayLat[someIndex];
double latitude = num.doubleValue;