在cllocationdistance中转换数据的问题

时间:2012-05-15 17:09:15

标签: ios ipad nsmutablearray mkmapview cllocationdistance

我试图添加到一个可变数组,但无法解决这个问题。将不兼容的数据类型的错误引发为id的两倍。问题是如何转换距离并将其存储在我的数组中。

for (int i = 0; i < _getAllLocations.count; i++) {

uscInfo *entity = [_getAllLocations objectAtIndex:i];
NSNumber *numlat=[[NSNumber alloc] initWithDouble:[entity.Latitude doubleValue]];
NSNumber *numlon=[[NSNumber alloc] initWithDouble:[entity.Longitude doubleValue]];
NSLog(@"%d",[_getAllLocations count]);
la=[numlat doubleValue];
lo=[numlon doubleValue];
CLLocation *currentLocation =  [[CLLocationalloc]initWithLatitude:lalongitude:lo];////here put your destination point

//NSLog(@"New Location:%@", newLocation);
CLLocationDistance distance = [newLocation distanceFromLocation:currentLocation];
NSLog(@"%@ (%@) %4.0f km from current location",entity.EntityNo, entity.EntityName, distance);
NSLog(@"%@",currentLocation);

我正在尝试将“距离”存储在我的数组“locationDistance”

感谢您的帮助,我仍然是iOS的新手以及一般的编程。

1 个答案:

答案 0 :(得分:1)

(你真的应该包含不起作用的代码 - 在这种情况下是实际的addObject:代码。)

但是我可以告诉你,问题是你可能正在尝试向数组添加一个裸的CLLocationDistance,这不会起作用,因为它不是一个对象。 typedefdouble,因此您需要使用例如[NSNumber numberWithDouble:distance]来包装它。