2011-01-04 16 views
6

Tengo un plist con diccionario de matrices con coordenadas (almacenadas como cadenas).crear CLLocationCoordinate2D desde el conjunto

Quiero crear un CLLocationCoordinate2D de cada matriz y crear una superposición para el mapa.

lo hice -

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]; 

pero la aplicación se bloquea sin ningún error. (Por cierto, cuando elimino el método addOverLay, la aplicación no falla).

tengo 2 preguntas-

  1. ¿Qué estoy haciendo mal?
  2. He tratado de establecer el pointsArray cuenta como el argumento para la CLLocationCoordinate2D así -

    CLLocationCoordinate2D pointsToUse [recuento pointsArray];

Y me aparece un error. ¿Cómo puedo configurar el CLLocationCoordinate2D dinámicamente?

Gracias por cualquier ayuda. Shani

+0

IOS nunca se estrellan aplicaciones sin algún tipo de error. ¿Recibió un "SIGABRT" o "EXC_BAD_ACCESS"? –

+0

no, ninguno de ellos – shannoga

+0

¿Podría publicar el resultado de la consola? –

Respuesta

5

O.K El problema estaba en el método viewForOverlay (gracias aBitObvious y todo lo demás). Parece que la carga de línea del punto de la matriz está funcionando bien.

y para la segunda pregunta que acaba de desconectar a 2 pasos:

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

y funcionó bien, así que si alguien está buscando una manera de cargar overlayes de plist, de esa manera está trabajando para mí .

Gracias Shani

Cuestiones relacionadas