2011-01-04 8 views
6

Ho un plist con dizionario di array con coordinate (memorizzato come stringhe).creare CLLocationCoordinate2D dall'array

Desidero creare un CLLocationCoordinate2D da ogni array e creare una sovrapposizione per la mappa.

ho fatto -

NSString *thePath = [[NSBundle mainBundle] pathForResource:@"Roots" ofType:@"plist"]; 
    NSDictionary *pointsDic = [[NSDictionary alloc] initWithContentsOfFile:thePath]; 

NSArray *pointsArray = [NSArray arrayWithArray:[pointsDic objectForKey:@"roade1"]]; 

CLLocationCoordinate2D pointsToUse[256]; 

for(int i = 0; i < 256; i++) { 
    CGPoint p = CGPointFromString([pointsArray objectAtIndex:i]); 
    pointsToUse[i] = CLLocationCoordinate2DMake(p.x,p.y); 
    NSLog(@"coord %f",pointsToUse [i].longitude); 
    NSLog(@"coord %f",pointsToUse [i].latitude); 

} 

MKPolyline *myPolyline = [MKPolyline polylineWithCoordinates:pointsToUse count:256]; 

[[self mv] addOverlay:myPolyline]; 

ma l'applicazione si blocca senza alcun errore. (BTW quando rimuovo il metodo addOverLay l'app non si blocca).

Ho 2 domande-

  1. Che cosa sto facendo di sbagliato?
  2. ho cercato di impostare il conteggio pointsArray come argomento per il CLLocationCoordinate2D così -

    CLLocationCoordinate2D pointsToUse [count pointsArray];

E ho ricevuto un errore. Come posso impostare CLLocationCoordinate2D in modo dinamico?

Grazie per qualsiasi aiuto. Shani

+0

iOS mai in crash senza un qualche tipo di errore. Hai ricevuto un "SIGABRT" o "EXC_BAD_ACCESS"? –

+0

no, nessuno di loro – shannoga

+0

Potresti postare l'output dalla Console? –

risposta

5

O.K Il problema era effettivamente nel metodo viewForOverlay (grazie aBitObvious e tutto il resto). Sembra che il caricamento della linea del punto dall'array stia funzionando bene.

e per la seconda domanda ho appena separati a 2 passi:

NSInteger c = [pointsArray count]; 
    CLLocationCoordinate2D pointsToUse[c]; 

e ha funzionato bene, quindi se uno è alla ricerca di un modo per caricare overlayes da plist, in questo modo sta lavorando per me .

Grazie Shani

Problemi correlati