I'm trying to display a polyline on my map, but the line doesn't show up. I tried a lot of things, but noting seems to work.
I checked the Core Data functions, and it is returning data, so that is not the problem. It must me somewhere in the mappoint creation or the dwawing on the map (I guess). I'm sure it must be a little mistake somewhere, but I can't find it.
My code:
- (void)viewDidLoad
{
[super viewDidLoad];
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
mapView.delegate = self;
}
- (void)createLine
{
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Logs" inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSError *error;
NSArray *logs = [context executeFetchRequest:request error:&error];
int logsCount = [logs count];
MKMapPoint points[logsCount];
// loop logs
for (int i = 0; i < logsCount; i++)
{
MKMapPoint point;
point = MKMapPointMake([[[logs objectAtIndex:i] valueForKey:@"lat"] doubleValue], [[[logs objectAtIndex:i] valueForKey:@"lng"] doubleValue]);
points[i] = point;
}
MKPolyline *routeLine = [MKPolyline polylineWithPoints:points count:logsCount];
[mapView addOverlay:routeLine];
}
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
MKOverlayView *mapOverlayView = [[MKOverlayView alloc] initWithOverlay:overlay];
return mapOverlayView;
}