gpt4 book ai didi

ios - 创建 CLLocation 坐标数组

转载 作者:行者123 更新时间:2023-11-29 03:09:39 25 4
gpt4 key购买 nike

我正在尝试获取存储在 parse.com 中的纬度和经度 double 值数组。我希望能够将这些转换回 CLLocationCoordinates,然后我可以使用它在自定义 TableView 中创建 MKPloylines。但是我不太确定如何存储 CLLocationCoordinates 数组。这是我的代码:

        _latitudeArray = [object objectForKey:@"latitude"];
[_parseLatitudeArray addObject:_latitudeArray];

_longitudeArray = [object objectForKey:@"longitude"];
[_parseLongitudeArray addObject:_longitudeArray];

for (int i=0; i < [_parseLatitudeArray count]; i++) {

_latitude = [self.parseLatitudeArray objectAtIndex:i];
_longitude = [self.parseLongitudeArray objectAtIndex:i];

CLLocationCoordinate2D coordinates [[_latitude count]];

for (int i = 0; i < [_latitude count]; i++) {

CLLocationCoordinate2D coordinate;
double latitude = [[_latitude objectAtIndex:i] doubleValue];
double longitude = [[_longitude objectAtIndex:i] doubleValue];
coordinate.latitude = latitude;
coordinate.longitude = longitude;
coordinates[i] = coordinate;
}
[_coordinatesArray addObject:coordinates];

}
NSLog(@"coordinates array = %@", _coordinatesArray);

起初我想我可以使用 [_coordinatesArray addObject:coordinates];但后来意识到这是行不通的!

我可能遗漏了一些非常基本的东西,但我们将不胜感激。谢谢

编辑:属性定义:

@property NSMutableArray *latitudeArray;
@property NSMutableArray *parseLatitudeArray;
@property NSMutableArray *longitudeArray;
@property NSMutableArray *parseLongitudeArray;
@property NSMutableArray *coordinatesArray;
@property NSArray *latitude;
@property NSArray *longitude;
@property CLLocationCoordinate2D *coordinates;

最佳答案

不是创建结构的 C 数组,而是将每个结构包装到一个对象中并将其添加到 NSMutableArray。所以在你创建坐标之后,只需:

[coordinatesArray addObject: [NSValue valueWithMKCoordinate:coordinate]];

并取回值:

CLLocationCoordinate2D coordinate;
[coordinatesArray[i] getValue:&coordinate];

因此,假设 self.latitude 和 self.longitude 是 NSStrings 的 NSArrays:

//only property is now
@property (nonatomic, strong) NSArray * locations

-(void) loadCoordinatesFromParse {
NSDictionary * parseData;
//load parseData from Parse here
NSMutableArray * coordinates = [NSMutableArray array];
NSArray * latitudes = [parseData objectForKey:@"latitude"];

NSArray *longitudes = [parseData objectForKey:@"longitude"];

for (int i = 0; i < [latitudes count]; i++) {
double latitude = [latitudes[i] doubleValue];
double longitude = [longitudes[i] doubleValue];
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(latitude, longitude);
[coordinates addObject: [NSValue valueWithMKCoordinate:coordinate]];
}

NSLog(@"coordinates array = %@", coordinates);
self.locations = [NSArray arrayWithArray: coordinates];
}

关于ios - 创建 CLLocation 坐标数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22363724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com