8

我需要使用以下内容构建一个数组:

CLLocationCoordinate2D  points[4];


    points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116);

    points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066);

    points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981);

    points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267);

问题是,我永远不会知道数组中有多少项目,所以我可以指定计数。有没有办法创建一个 CLLocationCoordinate2D 数组,并且只插入新坐标而不知道最终总数是多少?

编辑:我的最终目标是使用坐标制作 MKPolyline,使用需要 CLLocationCoordinate2D 数组的 polylineWithCoordinates 方法。

4

2 回答 2

16
// unpacking an array of NSValues into memory
CLLocationCoordinate2D *points = malloc([mutablePoints count] * sizeof(CLLocationCoordinate2D));
for(int i = 0; i < [mutablePoints count]; i++) {
    [[mutablePoints objectAtIndex:i] getValue:(points + i)];
}

MKPolyline *myPolyline = [MKPolyline polylineWithCoordinates:points count:[mutablePoints count]];
free(points);
于 2010-08-12T22:33:57.037 回答
0

把它们装进一个NSValue物体里,然后扔进一个NSMutableArray.

于 2010-08-12T21:17:48.767 回答