سؤال

أحتاج إلى بناء صفيف باستخدام شيء مثل ما يلي:

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 ، باستخدام طريقة polylinewithCoordinates التي تحتاج إلى مجموعة cllocationCoordinate2D.

هل كانت مفيدة؟

المحلول

// 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);

نصائح أخرى

صندوقهم في NSValue اعترض ورميهم في NSMutableArray.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top